現(xiàn)在有一套系統(tǒng),發(fā)布時有2臺webserver,1臺DataBase. 在web中使用了緩存(SqlCacheDependency)?,F(xiàn)問題請教大家:SqlCacheDependency在單一個web server上使用是沒問題的,當數(shù)據(jù)庫中數(shù)據(jù)更新時,使用消息通知會清除cache的。但現(xiàn)在有2臺web server,也就是用到網(wǎng)絡負載均衡,如何保證兩臺臺web server上cache的值保持同步呢?
1 回答

森林海
TA貢獻2011條經(jīng)驗 獲得超2個贊
可以使用webservice或者WCF進行共享Cache
你也可以參考一下liferay的思路:它的目的,為了達到分布式cache目的,多態(tài)Server能共享同樣的cache,它使用了數(shù)據(jù)庫來持久化這些cache,使用集中式的數(shù)據(jù)庫可以讓多態(tài)服務器來共享這些被cache的對象。Cache中有兩個字段:ID和String型的text,后者是將對象序列化以String方式保存在數(shù)據(jù)庫中。整個Cache機制有三層,第一層WebCachePool是離應用請求最近的;當超過更新期間后,第一層將從第二層CachePool獲取,如果第二層沒有,將從數(shù)據(jù)庫中獲取,如果數(shù)據(jù)庫沒有或過期,則啟動這個被Cache的對象的某個方法,讓其從遠程通過網(wǎng)絡獲取新值。這種機制是利用內(nèi)存中的對象來代替遠程對象,因此它是一種Proxy模式。
- 1 回答
- 0 關注
- 484 瀏覽
添加回答
舉報
0/150
提交
取消