缓存Cache

  1. 如果每次进入页面时都查询数据库生成页面内容则访问量非常大 而如果只有第一次访问时才查询数据库且以后访问时直接生成则系统性能大大提高 这样无论多少人访问都只访问一次数据库
  2. 缓存: 缓存是一种用空间换取时间的技术 存在于计算机中很多地方 用于将一些慢速设备中的常用数据保存在快速设备中 取数据时直接从快速设备中取(如CPU二级缓存 windows文件读取缓存) /就像索引是改进数据库性能的第一个手段一样 缓存是改进网站性能的第一个手段 
  3. 缓存失效: 为了保证从缓存中读取数据和慢速设备中数据的一致 则需在慢速设备中对应数据发生变化时清除缓存中相应的数据
  4. ASP.NET主要缓存: 页面缓存&数据源缓存&数据缓存
  5. 页面缓存:
①<%@ OutputCache Duration=“20” VaryByParam=“none” %>
<%@ OutputCache Duration=“20” VaryByParam=“id;num” %>
<%@ OutputCache Duration=“20” VaryByParam=“*” %>
②在WebUserControl中也可以像设置页面缓存一样设置控件的缓存
  1. 数据源缓存:
①设置ObjectDataSource的EnableCaching=true CacheDuration属性   (则每隔*秒才调用SelectMethod指定方法执行数据库查询 其他时间均返回数据库缓存内容)
②缓存固定的时间仅适于首页 文章列表等访问频繁的页面 对于看帖页面则不适合 假设有100万个帖子 如果每个帖子均固定缓存1小时 假设1小时内只有10万帖子被访问则非常占用内存 因为有大量未被访问的”坟帖”均缓存1小时 此时可使用”滑动窗口”策略 如帖子缓存10分钟 如果10分钟之内又访问了 则缓存失效时间修改为从被访问时起10分钟之后 以此类推(设置方法: 数据源CacheExpirationPolicy=“Sliding”)

posted on 2011-09-20 16:45  les_vies  阅读(188)  评论(0编辑  收藏  举报

导航