深入学习Enterprise Library for .NET Framework 2.0的Cache机制——分析篇, 这篇文章介绍了很多
Caching
方面的内容,我就不详细说了,我这里主要说一个最近在做的一个
Cache
模块的
Web Farm
环境,也就是负载均衡环境下处理缓存的处理途径。主要思路如下:将缓存的过期策略使用依赖文件,就是缓存项依赖于文件,缓存发生改变,就修改依赖文件,一般就是将文件的日期修改。
可以通过使用共同的缓存依赖文件来完成
. CacheManager
对象
Add
方法的
public void Add(string key, object value, CacheItemPriority scavengingPriority, ICacheItemRefreshAction refreshAction, params ICacheItemExpiration[] expirations)
ICacheItemExpiration
有一个实现
FileDependency. ICacheItemRefreshAction
接口可以用来实现缓存依赖的文件发生改变完成缓存过期后的重新获取数据
,
以此来达到各台服务器的
Cache
同步
.
例如 primitivesCache.Add(product.ProductID, product, enterNewItemForm.Priority,new ProductCacheRefreshAction(),new FileDependency("\\Server06\DependencyFile.txt"));
例如 primitivesCache.Add(product.ProductID, product, enterNewItemForm.Priority,new ProductCacheRefreshAction(),new FileDependency("\\Server06\DependencyFile.txt"));
[Serializable]
public class ProductCacheRefreshAction : ICacheItemRefreshAction
{
public void Refresh(string key, object expiredValue, CacheItemRemovedReason removalReason)
{
// Item has been removed from cache. Perform desired actions here, based upon
// the removal reason (e.g. refresh the cache with the item).
if
(removalReason != CacheItemRemovedReason.Removed)
{
}
}
}
本文转自 张善友 51CTO博客,原文链接:http://blog.51cto.com/shanyou/75071,如需转载请自行联系原作者