• 关于缓存使用的一点理解


    首先来说下缓存的优点:缓存是把数据放在内存中,需要时从内存中取出来(和从硬盘上取相比,从内存中取速度会快很多) 提示了速度

    缓存的分类:页面缓存 数据源缓存(永久 和 有时限的)  依赖项缓存  数据库依赖缓存

    页面缓存: 

    实现代码

    他会将整个页面缓存   然后在管线中第7个事件和第8个事件之间判断要访问的页面是否有缓存  是的话直接返回缓存页面 结束管线  不用走完管线这样大大的提升了速度

    注意点:只能在大部分时候不变的页面上用到这个,在变化较大的页面上不能用页面缓存(尤其是追求准确性的情况下)

    数据源缓存:比如将显示的列表的数据放进cache中

    下面是代码

    在什么时候用到:在一个页面中    这个数据源不常改动 且需要多次从数据库中提取   其他数据源相对来说需要变化 这时候就用到此缓存

    第一次启动的时候Application_start()里存入缓存    以后这个数据源 就直接从缓存中取 (需要改动显示时后台将改动相关数据时自动重新写入缓存)

    上面时永久缓存   下面是有时间限制缓存的创建

    有时间限制的缓存感觉跟上面的永久缓存相差不大   不过比较适用于数据变换频率中等的数据源

    依赖项缓存:2中依赖项  一种依赖文件,一种是依赖数据库

    依赖文件的通常是依赖配置文件啊   或者依赖xml文件(因为就是从xml文件中读取的数据)

    只有被依赖的文件更改是  缓存才会释放

    如依赖一个xml文件 并从xml文件中取数据  只有xml变更时(增加或者减少)  缓存会释放 并重新读取数据放入缓存  

    这样看似很方便 你变了我也变  避免了多次无意义的从xml文件取数据,但是要想想为啥系统会知道你变了  肯定在不停的监视 这样可能更浪费效率

     数据库依赖也是一样  不停在监视数据库  直到数据库改变通知程序  为了方便而浪费了效率

    下面是代码

    文件依赖项

    数据库依赖项

    数据库缓存依赖
    1、数据库缓存依赖
    -S服务器名称 -E集成身份验证 -ed启动 -d数据库名称 -et指定缓冲依赖的表名 -t表名
    在vs2010的命令提示符中运行(切换到aspnet_regsql.exe所在的目录)
    aspnet_regsql -S . -E -ed -d bjhksj -et -t HKSJ_USERS

    aspnet_regiis

    缓存依赖禁用该数据库
    aspnet_regsql -S . -E -dd -d bjhksj


    2、依赖于数据库的web.config配置
    <system.web>
    <caching>
    <sqlCacheDependency enabled="true">
    <databases>
    <add name="HeimaRegulation"(依赖数据库的名字) connectionStringName="connectionString"(依赖连接字符串的名字) pollTime="500"/>
    </databases>
    </sqlCacheDependency>
    </caching>


    3写入缓存

    3、 System.Web.Caching.SqlCacheDependency dep = new System.Web.Caching.SqlCacheDependency("HeimaRegulation", "Branch");
    Cache.Insert("list", list, dep, System.Web.Caching.Cache.NoAbsoluteExpiration, System.Web.Caching.Cache.NoSlidingExpiration);

  • 相关阅读:
    Asp.Net MVC4入门指南(3):添加一个视图
    Asp.Net MVC4入门指南(2):添加一个控制器
    Asp.Net MVC4入门指南(1): 入门介绍
    .net平台借助第三方推送服务在推送Android,IOS消息(极光推送_V2版本)
    ASP.NET网站实现中英文转换(本地化资源)
    .net 内置对象之Session对象和Session的过期时间
    SQL 单表分页存储过程和单表多字段排序和任意字段分页存储过程
    Js键盘事件全面控制,回车按键事件,键盘对应按键码,按键事件兼容各个浏览器。
    C# WebBrowser控件详解
    html .net 网页,网站标题添图标
  • 原文地址:https://www.cnblogs.com/wzjbk/p/4524362.html
Copyright © 2020-2023  润新知