asp.net缓存
来源:互联网 发布:噩梦 知乎 编辑:程序博客网 时间:2024/05/23 19:01
页面缓存:
例子:假设我们有一个新闻网站,在某一时刻有100个请求同时访问某一个新闻页面,难道我们需要和数据库交互100次吗,这时我们就可以用到页面缓存了,只在第一次请求时,查询数据库,并把请求的结果保存起来,后续的请求直接就取数据,而无须再和数据库交互。在访问量非常大时,启用页面缓存是非常有效果的;在访问量不大时,启用缓存,反而是浪费内存。
缓存:将数据放到内存里面去,下次请求直接从内存中读取数据,返回给客户端,不用再去访问数据库或者是磁盘了。用内存空间换磁盘读的时间。
(1)在aspx 页面上加上指令<%@ OutputCache Duration="15" VaryByParam="*"%>
这个指令表示,除了第一次请求经过页面的生命周期,后续的请求都直接从缓存中得到数据,缓存15秒,这里的*表示,一旦请求报文发生任何改变,缓存失效;如果把*换成none,表示无论请求的报文是否发生变化,都在15秒后缓存才结束;如果换成id 表示,只有id 参数发生变化的时候,页面的缓存才失效。
如果我们请求的页面中有缓存,则在管道事件第7个取得缓存内容后,直接返回内容给客户端,而不必执行后续事件。
数据源控件缓存:
在页面上添加一个数据源控件,右击属性,可以看到它有缓存的属性。
手动创建缓存:
Cache["Key"]=DateTime.Now.ToString(); //永不过期 //这里的Cache 相当于HttpContext.Current.Cache
//设置绝对过期时间缓存
Cache.Insert("key",DateTime.Now.ToString(),null,DateTime.Now.AddSecond(30),TimeSpan.Zero); //null表示无依赖项
//设置滑动过期时间
Cache.Insert("key",DateTime.Now.ToString(),null,DateTime.MaxValue,new TimeSpan(0,0,10));
//设置依赖文件的缓存
string file=Server.MapPath("MsdnWoo.txt");
Cache.Insert("key",DateTime.Now.ToString(),new CacheDependency(file));
文件不改变,则缓存内容就不会改变。比如我们网站的菜单栏是加载xml文件形成的,这时候我们可以将这xml文件设置成依赖文件。
依赖数据库的缓存
看下在正式生产环境中,怎么用
if(Cache["User"]==null)
{
Cache.Insert("User",list,new SqlCacheDependency("bjhksj","tb_user"));
}
- asp.net的缓存
- Asp.Net页面缓存
- asp.net 缓存运用
- ASP.NET 缓存技术
- ASP.NET 缓存
- asp.net关掉缓存
- ASP.NET缓存
- ASP.NET的缓存
- ASP.NET的缓存
- ASP.net缓存机制
- asp.net缓存实践
- ASP.NET的缓存
- asp.net缓存
- ASP.NET缓存
- ASP.NET 缓存
- ASP.NET 缓存
- ASP.NET:页面缓存
- asp.net中的缓存
- Apple Tree_poj3321_树状数组&dfs
- hibernate对象映射Date数据类型和input datetime使用注意事项
- 解决Gridview列表view高度无法固定的方法
- Mysql 查看连接数,状态 最大并发数(赞)
- 电子电路之小信号电路中,为什么要经常串联1000P的电容
- asp.net缓存
- 【bzoj3809】Gty的二逼妹子序列
- HRBUST 1786 最大停车场 (01矩阵找最大的矩形)
- 2016百度之星 hdu 5698 递推+费马小
- Java 多线程同步的五种方法
- csu 1329 一行盒子(数组模拟链表)
- 病毒网址
- 添加本地消息提醒
- 应该知道的7种回归模型