您的位置:首页 > 其它

发一个我自己写的.net中使用的缓存封装类(算是第三版了)

2009-04-22 15:52 253 查看
先上代码:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Collections;
using System.Text;

namespace Web

namespace Web
{
public enum WebCacheKey
{
UserInfo
}
}

代码很简单,类WebCache用于获取、设置、删除缓存,WebCacheKey提供了缓存键的统一管理——好处就是可以在多处重用,尽量避免同样一份数据多次缓存的问题。WebCahce类我最初是设计为只包括静态方法的,也没有WebCacheKey枚举,主要是想方便调用,后来使用中发现往往有多次查询同一个缓存项及在判断缓存是否存时代码不太好看的问题,如下面这样:

本篇文章发的WebCache类的用法
public static UserInfo GetUserInfoFromCache(long uid)
{
WebCache<UserTotalInfo> c = new WebCache<UserTotalInfo>(WebCacheKey.UserInfo, uid);
if (!c.IsExist)
c.Data = new UserInfo(uid);
return c.Data;
}

虽然是多个了类的实例化操作,但下面的操作就方便多了,也不会出现多次重复查询缓存值的现象,性能上会提高一点

注:上面所有代码中用到的Config.App.EnabledCaching为一个配置属性,就是从web.config中读取的是不是需要缓存数据的标志,在些就不再提供实现代码了(大家都知道^__^)

使用这个类的好处不紧紧方便书写代码,还可以在网站发展壮大添加缓存服务器(如Velocity - Microsoft Distributed Cache)时,直接修改这个类的方法即可,不用修改所有的缓存处理代码

如果错误,欢迎大家指正
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐