我正在构建一个Web应用程序,我想管理多个对象的缓存,所以我不必每次都去DB。我的问题是这个对象的数据可以被DB上的其他应用程序修改。有没有人知道一个好的模式来保持我的缓存对象与BD同步? 我阅读了这篇文章(www.developer.com/java/other/article.php/630481),但它没有解决这个问题。
答案 0 :(得分:1)
一个好的模式是“观察者模式”。我们的想法是,任何更改对象的应用程序都会将对象的ID发送到一个中心位置,任何使用对象的人都可以自己注册。收到事件后,所有侦听器都会收到一条带有对象ID的消息,以便他们可以更新缓存(或刷新它们)。
答案 1 :(得分:0)
您使用的是Java还是其他语言?在.Net中有SqlCacheDependency(http://msdn.microsoft.com/en-us/library/ms178604.aspx)。
答案 2 :(得分:0)
一个好的起点可能是ehcache的文档,特别是章节Distributed Caching with ehcache。 ehcache是Java中一种流行的缓存框架。