码迷,mamicode.com
首页 > 系统相关 > 详细

025-缓存Cache

时间:2017-02-03 00:35:54      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:策略   自己   计算   用户   second   情况   日期   原因   性能   

如果每次进入页面的时候都查询数据库生成页面内容的话,如果访问量非常大,则网站性能会非常差。而如果只有第一次访问的时候才查询数据库生成页面内容,以后都直接输出内容,则能提高系统性能。这样无论有多少人访问都只访问一次数据库,数据库压力不变。
缓存(Cache)是一种用空间换取时间的技术,存在于计算机中很多地方,用来将一些慢速设备中的常用数据保存在快速设备中,取数据的时候直接从快速设备中取。比如CPU二级缓存、内存、windows文件读取缓存。
缓存存在失效的问题:为了保证从缓存中读取数据和慢速数据(数据库)中数据一致,则需要在慢速数据(数据库)中对应的数据发生变化的时候,清除缓存中相应的数据。
缓存是改进网站性能的第一个手段,就像索引是改进数据库性能的第一个手段一样。ASP.net缓存主要分为:页面缓存(中庸)、数据源缓存(最不灵活的)、数据缓存(灵活)这三种主要类型。

1.缓存可以提高数据访问性能,原因是缓存的数据都在内存中。避免了磁盘I/O操作,或者数据库的网络连接等。
2.缓存的数据,必须有一定的过期策略,否则实际的数据发生改变后,对应的缓存还是旧数据,就造成了数据不一致的问题。
3.什么情况下才用缓存?
1>访问的数据不会发生改变,或者是很少发生变化。
2>数据频繁被访问。

直接使用Cache

1>直接使用Cache["content"],缓存与Session不同,所有用户都可以共享。永不过期,由服务器自己维护,当内存不够时,会将老的缓存释放掉。
2>设置绝对过期日期。Cache.Insert("nowTime", DateTime.Now, null, DateTime.Now.AddSeconds(7), TimeSpan.Zero);
3>设置滑动过期日期: Cache.Insert("nowTime", DateTime.Now, null, DateTime.MaxValue, TimeSpan.FromSeconds(5));

if (Cache["nowTime"] == null)
{
Cache.Insert("nowTime", DateTime.Now, null, DateTime.MaxValue, TimeSpan.FromSeconds(5));
}
else
{
Response.Write("缓存中的时间:" + Cache["nowTime"]);
}
----------------------------------------------------------

if (Cache["time"] == null)
{
Cache["time"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
}
Response.Write(Cache["time"]);
----------------------------------------------------------
if (Cache["time"] == null)
{
Cache.Insert("time", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), null, DateTime.Now.AddSeconds(10), TimeSpan.Zero);
}
Response.Write(Cache["time"]);
----------------------------------------------------------
if (Cache["time"] == null)
{
Cache.Insert("time", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), null, DateTime.MaxValue, TimeSpan.FromSeconds(5));
}
Response.Write(Cache["time"]);
----------------------------------------------------------

页面缓存

 

025-缓存Cache

标签:策略   自己   计算   用户   second   情况   日期   原因   性能   

原文地址:http://www.cnblogs.com/ninghongkun/p/6361873.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!