zoukankan      html  css  js  c++  java
  • 关于缓存使用的一点理解

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

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

    页面缓存: 

    实现代码

    他会将整个页面缓存   然后在管线中第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);

  • 相关阅读:
    Ubuntu16.04更新源后apt-get update报错的解决方法
    安装Ubuntu16.04 64bit系统时出错的解决方案
    采用Python-Qt5制作置顶透明桌面提醒词/座右铭/便签
    如何手动解析Keras等框架保存的HDF5格式的权重文件
    读取yml配置文件中的值
    添加20位随机数,不重复,可以用来作为发票申请流水等功能
    java 从json串中取出某个字段的值
    Spring事务的两种方式
    (附表设计)超级全面的权限系统设计方案
    nfs 测试
  • 原文地址:https://www.cnblogs.com/wzjbk/p/4524362.html
Copyright © 2011-2022 走看看