多台计算机上Winforms应用程序网络的中央缓存

时间:2020-02-14 09:36:26

标签: c# winforms caching networking central

我正在使用C#中的WinForms应用程序的.NET Cache。应用程序直接连接到远程数据库服务器(没有任何服务层),并且缓存在安装了应用程序的客户端计算机上维护。

现在,我使其可以在网络上的多台计算机上工作,并且实例将连接到中央数据库。问题是,当一个实例在数据库中添加记录时,其他计算机仍包含旧数据的缓存。

我将需要知道可能的解决方案,以使该缓存对于网络上的所有应用程序实例为中心,因此当一个实例修改数据时,将为其余网络节点刷新缓存。

我们如何为网络上的所有应用程序实例实现中央缓存?

1 个答案:

答案 0 :(得分:0)

我们遇到了同样的问题,我们将缓存实现到了数据库中。

(如果您没有任何服务层,则可以使用数据库层过程或触发器等。)

首先,我们制作了Cashe Table。例如CACHE_DATA。

然后,在机器(不止一个)执行DML(更新,插入,删除数据)之后,服务层(或DB)将根据最新信息更新缓存数据。这样其他机器也可以引用该表。

如果DML执行得太频繁,则可以在CHACHE_DATA中添加“最近的兑现时间”。

If(最后兑现时间