系统缓存学习(一)

 

系统缓存

系统缓存的组成如图:

未命名

客户端缓存

--客户端缓存,最直观的感觉是第一次打开一个较大网站的时候比较慢,二次打开的时候就会比较快,原因就是客户端缓存的结果。不过客户端缓存是由浏览器自动完成的。浏览器会将静态文件 如gif,jpeg等缓存在客户机的硬盘上,第二次打开网站的时候既加载这些文件。直到缓存的文件过期了,或者网站更新内容了。还有一点是在使用360安全卫士的时候,假如设置不当会将缓存的某些静态文件当做系统垃圾文件删除掉。

服务器端缓存

有些数据文件是需要缓存在服务器端的,服务器端缓存在缓存性质上可分为 :

(1)静态文件缓存

    好多页面是静态的,很少改动,那么这种文件最适于作静态缓存。现在的IIS 6.0这部分内容是直接存放在Kernel的内存中,由HTTP.SYS直接管理。由于它在Kernel Space,所以它的性能非常的高。用户的请求如果在缓存里面,那么HTTP.SYS直接将内容发送到network driver上去,不需要像以前那样从IIS的User space的内存copy到Kernel中,然后再发送到TCP/IP stack上。Kernel level cache几乎是现在高性能Web server的一个必不可少的特性。

ps:kernel是内核:负责IO,内存管理等     GDI 是图形驱动程序的接口,负责画图,文字显示等      User 负责用户界面,和一些逻辑。

(2)动态缓存

     动态缓存是比较有难度的。因为在缓存的时候要时刻注意一个问题,那就是缓存的内容是不是已经过期了。因为内容过期了可能会有很严重的后果。缓存如何发现自己是不是过时就是一个非常复杂的问题。

在ASP.NET中,常见的动态缓存主要有以下几种手段:

  Ø 传统缓存方式

  Ø 页面输出缓存。

  Ø 页面局部缓存。

  Ø 利用.NET提供的System.Web.Caching 缓存。

  Ø 缓存依赖。

传统缓存方式

比如将可重复利用的东西放到Application或是Session中去保存。

Session["Style"] = val;
Application["Count"] = 0;

自己也没有想到  用了多年的session  application  viewstate 都属于缓存范畴。

第三方缓存系统

目前用过这个 存Memcached,不错 据说博客园就是用的这个缓存工具的架构。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值