• ASP.NET缓存


    缓存是以空间来换取时间的手段。

    缓存是改进网站性能的第一个手段,就像索引时改进数据库性能的第一个手段一样。


    主要有三种缓存:

    ①页面缓存

    <%@ OutputCache Duration="15" VaryByParam="none"%>标签就可以启用页面缓存,这样整个页面都会被缓存。

    页面中代码、数据源在缓存期间都不会被执行,而是直接输出缓存页面的内容。

    Duration表示缓存的时间,以秒为单位。

    缓存是针对这个页面的所有访问者,它们在此期间访问的页面都会是一样的。

    对于参数访问的页面,如news.aspx?id=1,news.aspx?id=2可以设置VaryByParam="id",VaryByParam="id,number"(多参数),VaryByParam="*"(任何参数)


    ②数据源缓存

    设定ObjectDataSource的CacheDuration(缓存时间:秒),EnableCaching=true。这样每隔CacheDuration秒才会调用SelectMethod指定的方法来执行数据库查询,其他时间都是直接返回缓存的数据。

    缓存固定的时间适合于首页、文章列表等访问频繁的页面,对于看帖页面则不适合,假如有100万个贴子,如果每个贴子固定缓存1小时,而1小时内有10万贴子被看了,那就需要缓存10万个贴子,内存占用会非常大。

    解决方法是使用“滑动窗口”的策略:一个贴子缓存10分钟,如果10分钟之内又访问了,则缓存失效的时间改为从此刻开始的10分钟。这样的话,经常访问的贴子会被长期缓存。设置方法:CacheExpirationPlicy="Sliding"

    ③数据缓存

    。。。

    本博客(liqipeng)除非已明确说明转载,否则皆为liqipeng原创或者整理,转载请保留此链接:https://www.cnblogs.com/liqipeng/archive/2012/07/18/4576197.html

    本博客(liqipeng)除非已明确说明转载,否则皆为liqipeng原创或者整理,转载请保留此链接:https://www.cnblogs.com/liqipeng/archive/2012/07/18/4576197.html
    如果你觉得这篇文章对你有帮助或者使你有所启发,请点击右下角的推荐按钮,谢谢,:)
  • 相关阅读:
    Session服务器配置指南与使用经验
    string和byte[]的转换 (C#)
    错误1已授予对“SqlAccess...的友元访问解决方法
    网络视频会议 二
    Editplus配置环境变量
    TSC 条码打印机 Dll 说明
    源码C#事例网址
    C#中的日志类
    分页事例 比较好的
    dotnet 网络编程 tcp
  • 原文地址:https://www.cnblogs.com/liqipeng/p/4576197.html
Copyright © 2020-2023  润新知