.NET 缓存的设计

关于缓存的设计
1、什么情况下用缓存

缓存是提高应用程序性能的最好方法之一。运用缓存可以优化数据查询,避免不必要的网络数据回传,和避免执行不必要的完全相同的数据处理逻辑。在实现缓存的时候我们要确定什么时候装入缓存数据。用异步装入缓存或用批处理方式来避免出现客户端数据延迟。
一般来说在一定时间内请求了相同的业务逻辑而没有变更的话,可以采用缓存来设计。数据请求频繁的的请求不适合采用缓存,如论坛的回复,但是论坛的主题是可以采用缓存设计的。
2、缓存设计的步骤
确定缓存数据结构:即设计中哪些数据用到了缓存,设计这些数据的缓存结构
确定缓存什么数据
确定缓存过期规则和清理
确定如何装入缓存数据
3、示例 Community Server的缓存类

Cache

其实这个类就是一个单件模式的设计 和缓存的公共操作方法,其中CacheDependency表示建立缓存依赖项,CacheItemPriority表示缓存的优先级。S使用如下

 1public static CardShop.Model.Systems GetConfig() 
 2    {
 3        const string cacheKey = "WebConfig";
 4        CardShop.Model.Systems sampleCacheTable = Larry.Cache.BaseCache.Get(cacheKey) as CardShop.Model.Systems;
 5        if (sampleCacheTable == null)
 6        {
 7                                  OprationCheck.Message("第一次加载使用缓存");
 8            sampleCacheTable = model;
 9            Larry.Cache.BaseCache.Insert(cacheKey, sampleCacheTable, 24 * Larry.Cache.BaseCache.MinuteFactor);
10        }

11        else
12        {
13            OprationCheck.Message("已经加载了缓存不需要再加载");
14        }

15        return sampleCacheTable;
16    }


 

posted @ 2007-12-27 11:52  拒绝潜水的鱼  阅读(641)  评论(2编辑  收藏  举报