在我公司,我们为所有应用程序使用1个数据库。我们有一个ASP.Net网站和几个桌面应用程序(WPF,WinForms)。
每个应用程序都有自己的缓存系统。例如,ASP.Net网站使用IIS缓存,桌面应用程序使用内存缓存。
我们开发了一个管理网站(ASP.Net MVC 5)来管理全局配置。当我们从这个网站更新我们数据库中的数据时,我们想告诉其他应用程序更新他们的缓存。
这样做的最佳解决方案是什么?
Thanx求助。
答案 0 :(得分:0)
有几个选项,最简单的方法是每隔X秒轮询一次数据库,询问是否应该重新加载缓存。这可以通过记住先前的状态(例如整数)来完成。如果它偏离,请重新加载缓存。
您还可以让数据库发送表更改的更改通知,这会比每次轮询更好。
最后一个选项是使用内存缓存的公共源,它在所有系统之间共享。那么你根本不需要让它们保持同步。