我在启用本地缓存的应用程序中使用Windows Server AppFabric Caching。配置如下:
<localCache isEnabled="true" sync="TimeoutBased" objectCount="1000" ttlValue="120"/>
我设置了基于超时的无效,超时间隔为120秒。根据此配置,本地缓存将在每120秒后从内存缓存中删除项,并从缓存集群中检索项。是否有可能添加一个回调,当本地缓存试图命中缓存集群来检索项目而不是在本地获取它们时,就会触发该回调?
不幸的是,没有办法知道数据是否在本地获取。有缓存服务器通知,但它们不可靠。
在您的场景中,一个好的方法可能是Read-Through和Write-Behind特性。它并不适合所有的情况,但你可以快速浏览一下。
以下是一些链接:
- http://msdn.microsoft.com/en-us/library/hh377669.aspx
- http://blogs.msdn.com/b/prathul/archive/2011/12/06/appfabric-cache-read-from-amp-write-to-database-read-through-write-behind.aspx