博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cache的使用
阅读量:5016 次
发布时间:2019-06-12

本文共 1569 字,大约阅读时间需要 5 分钟。

1.Cache与Session的区别

每个用户都有自己单独的Session对象
但是放在Cache中的数据是大家共享的

protected void SetCache()

{
//判断缓存是否为空
if (Cache["UserInfo"] == null)
{
Bll.UserInfoBll userInfobll = new Bll.UserInfoBll();

//如果为空了,需要重新查询数据

List<UserInfo> list = userInfobll.GetUserInfo();

//将经常查询,但不是经常改动的数据放在缓存当中

//将数据放到缓存中
//第一种方法
//Cache["UserInfo"] = list; 一般采用这个方法(如果数据修改了,后台添加数据时,提交表单时,可以直接移除Cache,这样不依赖于缓存依赖项)
//第二种方法(使用下面的重载)
//public void Insert(string key, object value, CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, CacheItemRemovedCallback onRemoveCallback);
//1.键
//2.值
//3.CacheDependency dependencies (监视数据库表的数据是否改动,如果改动会给缓存发送一个消息) 缓存依赖项
//4.DateTime absoluteExpiration 缓存的过期时间 绝对过期时间 比如 1天
//5.TimeSpan slidingExpiration 时间差(DateTime-DateTime = TimeSpan(结果的类型是TimeSpan类型))
//6.CacheItemPriority priority 缓存的优先级
//7.CacheItemRemovedCallback onRemoveCallback 缓存移除的原因(委托)
Cache.Insert("UserInfo", list, null, DateTime.Now.AddSeconds(20), TimeSpan.Zero, System.Web.Caching.CacheItemPriority.Normal, RemoveCache);
//强制移除 Cache
//Cache.Remove(UserInfo);

}

else
{
List<UserInfo> list = (List<UserInfo>)Cache["UserInfo"];
}
}

 

/// <summary>

/// 缓存移除原因
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <param name="reason"></param>
protected void RemoveCache(string key, object value, CacheItemRemovedReason reason)
{
//方法的签名和委托保持一致
//1.CacheItemRemovedReason F12可以查看原因
if(reason == CacheItemRemovedReason.Expired)//如果时间到期
{
//缓存移除的原因写入日志中
}
}

转载于:https://www.cnblogs.com/jinjingBlog/p/9792072.html

你可能感兴趣的文章
jquery事件绑定例子
查看>>
RMQ问题
查看>>
Latex使用整理
查看>>
foj2024
查看>>
VS2012的SVN插件VISUALSVN
查看>>
WebForm 生成并显示二维码
查看>>
抓水王
查看>>
适配器模式
查看>>
IIS7.5部署除静态页面外都是404的解决方案
查看>>
RPM 安装与卸载命令
查看>>
Android之ListView异步加载图片且仅显示可见子项中的图片
查看>>
Optimal Symmetric Paths(UVA12295)
查看>>
[转载型] Neutron 系列 (17): Neutron 分布式虚拟路由【上】
查看>>
PSP辅助软件开发计划
查看>>
WCF传输大数据的设置2
查看>>
animation-fill-mode
查看>>
C#泛型约束
查看>>
格式化输出
查看>>
python基础7之python3的内置函数
查看>>
GIT生成 SSH Key步骤
查看>>