页输出缓存

 输出缓存是一种功能强大的技术,应用程序可以将那些频繁访问的数据,以及那些需要大量处理时间来创建的数据存储在内存中,通过缓存从动态页生成的内容来提高请求/响应的吞吐量。默认情况下启动输出缓存,但不缓存来自任何给定响应的输出,除非采取显式操作使该响应成为可缓存的。

    为了使响应被适当的输出缓存,响应必须具有至少一个有效的过期/有效性策略和公用cache的访问权限。当一个GET请求被送往页面,一个输出缓冲入口将被创建。随后的GET请求和HEAD的请求将直接从该缓冲入口中取出返回给用户,直到该缓存请求过期,而对该页面的POST请求通常是显示地产生动态内容,却并非如同GET和HEAD请求一样从缓冲入口中取出。

页面缓存

网络的个性化服务中,页面的某些部分是针对用户定制的,缓存整个页面通常并不可行;但页面中也有大部分是整个应用程序共有的,这些共有的内容适合使用片断缓存或用户控件进行缓存;此外,菜单和其他布局元素,尤其是那些从数据源动态生成的元素,也可以用这种方法进行缓存。需要时,也可以将缓存的控件配置为基于对其控件(或其他属性)的更改或者有页面级输出缓存支持的任何其他变动进行改变,使用同一组控件的几百个页面还可以共享那些控件的缓存条目,而不是为每个页面保留单独的缓存版本。

网络的个性化服务中,页面的某些部分是针对用户定制的,缓存整个页面通常并不可行;但页面中也有大部分是整个应用程序共有的,这些共有的内容适合使用片断缓存或用户控件进行缓存;此外,菜单和其他布局元素,尤其是那些从数据源动态生成的元素,也可以用这种方法进行缓存。需要时,也可以将缓存的控件配置为基于对其控件(或其他属性)的更改或者有页面级输出缓存支持的任何其他变动进行改变,使用同一组控件的几百个页面还可以共享那些控件的缓存条目,而不是为每个页面保留单独的缓存版本。

认识了解数据缓存

很多时候,即使我们对数据库的设计和部署采用了很多性能优化的策略,但是每次读取数据的时候,还是得从数据库中去检索,这不仅仅使i/o操作更加频繁,还导致了很大的网络开销和CPU的开销。网站建设的技术人员应该尽量活跃数据缓存。

如果将请求所需的数据保存在应用服务器的内存中,无疑会对性能提升有很大的帮助!尽管数据库产品(例如SQL Server)在检索数据的时候,已经将数据从磁盘中读取到了内存缓冲中,可由于数据库要处理很多的请求,并且SQL Server会根据相应的策略将数据从缓冲中释放,为其他的请求提供内存缓冲区,而且,在内存中缓存什么数据,缓存多长时间也是根据应用程序的业务而定的,所以,需要我们在程序中使用一定的缓存策略来提升性能!

缓存系统解析

每个缓存服务器只有有限大小的磁盘和内存可以作为缓存使用。因为我们的照片工作集太大以至于缓存被填满。一个填满的缓存需要经常决定迁出哪个对象来为新来的对象腾出空间。该过程基于一个替换或“迁出”算法。虽然存在着很多的迁出算法,但是最通用的算法是采用最近最少使用(Least Recently Used , LRU)原则。
我们提过磁盘是基础设施中最慢的部分,对其的访问最耗时间。多数大型网站通过将数据缓存在不同位置来减轻这种昂贵操作的需求。

在Web架构中,缓存最经常被用于存储数据库结果(比如用Memcached)或实际文件 (比如用Squid和Varnish)。这两种方法对容量规划都要求有所考虑。它们是反向代理的示例,都是将缓存数据从Web服务器发向客户端(通常是Web浏览器)的专门系统。

«1»
最近发表
控制面板
您好,欢迎到访网站!
  [查看权限]
网站分类
搜索
Tags列表
网站收藏
图标汇集
  • 订阅本站的 RSS 2.0 新闻聚合
友情链接

热门搜索: 外链域名 高外链域名 高收录域名

Copyright www.thyst.cn. Some Rights Reserved.