Memcached:更新客户端缓存通知

时间:2011-03-13 17:16:51

标签: c# .net performance memcached distributed-cache

让我们以Memcached的.NET客户端为例:

我们知道,如果我们想将一些数据放到缓存服务器上,我们会调用Cache.Add(string key, object data)之类的API,而memeched客户端将序列化data,然后将其发送到缓存服务器。如果data是一个复杂对象(具有大对象图),则序列化过程可能非常慢。因此,我尝试使用2级缓存:分布式缓存内存缓存

应用程序代码将始终询问内存缓存中的缓存数据。如果内存高速缓存没有缓存数据,则它将向缓存服务器请求缓存数据。性能可以从内存缓存的使用中获益,因为内存缓存不需要序列化操作,并且更接近应用程序。

然而,存在同步问题。如果一个Web服务器修改数据,它将更新数据库,其内存缓存和分布式缓存。 但其他网络服务器不会收到有关此“更新”事件的通知,因此不会更新其内存缓存。

所以问题是:当一个Web服务器更新数据时,如何通知其他Web服务器(以便他们可以更新其内存缓存)?谢谢!

BTW:我希望以“推送同步”方式同步缓存数据,也就是说,缓存数据将仅更新 当他们改变时。因为在我的应用程序中,只有一些写入时有很多读取。

0 个答案:

没有答案