Asp.net Web.Config 配置元素 caching

摘要:
outputCacheSettings指定可以应用于应用程序中页的输出缓存设置。sqlCacheDependency为ASP.NET应用程序配置SQL缓存依赖项。disableExpiration获取或设置一个值,该值指示是否禁用缓存过期。enableFragmentCache可选的Boolean特性。默认值为“AspNetInternalProvider”。

记得之前在写缓存DEMO的时候,好像配置过这个元素,好像这个元素还有点常用。

一、caching元素列表

元素说明

cache

定义全局应用程序缓存设置。

可选的元素。

outputCache

指定应用程序范围的输出缓存设置。

可选的元素。

outputCacheSettings

指定可以应用于应用程序中页的输出缓存设置。

可选的元素。

sqlCacheDependency

为 ASP.NET 应用程序配置 SQL 缓存依赖项。

可选的元素。

  1、cache

属性

特性

说明

disableMemoryCollection

获取或设置一个值,该值指示是否当计算机处于内存压力下时是否禁止执行缓存内存回收。

可选的Boolean特性。

disableExpiration

获取或设置一个值,该值指示是否禁用缓存过期。如果禁用,则缓存项不会过期,并且不会对过期缓存项执行后台清理。

可选Boolean特性。

privateBytesLimit

获取或设置一个值,该值指示在缓存开始刷新过期项并尝试回收内存之前应用程序的最大专用字节大小。此限制同时包括缓存所使用的内存量以及运行应用程序的正常内存开销。如果设置为零,则指示 ASP.NET 将使用自己的试探法确定何时开始回收内存。

可选Int64特性。

percentagePhysicalMemoryUsedLimit

获取或设置一个值,该值指示在缓存开始刷新项并尝试回收内存之前可使用的计算机的物理内存的最大百分比。请注意,此限制适用于使用中的总物理内存。设置为 0 会导致在插入项后立即将其移除。

可选Int32特性。

privateBytesPollTime

获取或设置一个值,该值指示两次轮询应用程序专用字节内存使用量之间的时间间隔。

可选TimeSpan特性。

    位置

  caching -> configuration-> system.web  //该元素放于<system.web>下的<configuration>节点下

示例:

<cache disableMemoryCollection = "false"//不禁止内存回收
  disableExpiration = "false"//缓存不会过期
  privateBytesLimit = "20971520"//当内存到这个值时,开始回收内存
  percentagePhysicalMemoryUsedLimit = 60"     //当程序使用超过60%的内存时,开始回收
  privateBytesPollTime = "00:01:00"/>       //1秒检测一次当前程序所有内存大小

2、outputCache

属性

特性

说明

enableOutputCache

可选的Boolean特性。

启用/禁用页输出缓存。

如果禁用,则无论是否具有编程性或声明性设置,都不会缓存页。

默认值为true

enableFragmentCache

可选的Boolean特性。

启用/禁用应用程序片段缓存。

如果禁用,则无论是否使用@OutputCache指令或缓存配置文件,都不会缓存页。包括一个缓存控件标头,指示上游代理服务器以及浏览器客户端不应尝试缓存页输出。

默认值为false

sendCacheControlHeader

可选的Boolean特性。

获取或设置一个值,该值指示默认情况下cache-control:private标头是否由输出缓存模块发送。

默认值为false

omitVaryStar

可选的Boolean特性。

允许/禁止在响应中发送 HTTP“Vary: *”标头。默认设置为 False,表示为输出缓存页发送“Vary:*”标头。

默认值为false

defaultProvider

可选的字符串特性。

获取或设置默认输出缓存提供程序。

默认值为“AspNetInternalProvider”。这是 ASP.NET 提供的内存缓存。

位置

    caching -> configuration-> system.web 

示例

<outputCache enableOutputCache = "true"//启用缓存页
             enableFragmentCache = "true"//启用程序片段缓存
             sendCacheControlHeader = "true"//cache-control:private标头由输出缓存模块发送
             omitVaryStar = "false"       //表示为输出缓存页发送“Vary:*”标头。defaultProvider="AspNetInternalProvider">  //输出缓存提供程序。
</outputCache>

子元素providers 元素

add

可选元素。

将自定义输出缓存提供程序添加到应用程序可用提供程序的集合。

clear

可选元素。

从应用程序可用提供程序的集合中移除所有配置的输出缓存提供程序。

remove

可选元素。

从应用程序提供程序的集合中移除指定的输出缓存提供程序。

示例:

<providers>
    <add     />
    <clear />
    <remove     />
</providers>

3、

4、sqlCacheDependency

特性

说明

enabled

必选的Boolean特性。

指示是否轮询更改。

pollTime

可选Int32特性。

设置SqlCacheDependency类实例轮询数据库表更改的频率。此值对应于连续两次轮询之间的毫秒数。不能将其设置为小于 500 毫秒的值。

默认值为 1 分钟。

    子元素

元素

说明

databases

可选元素。

包含一个或多个可以由SqlCacheDependency类实例使用的命名的 SQL 连接。

位置

  caching -> configuration-> system.web 

SQL依赖缓存配置

    <compilation debug="true"targetFramework="4.0" />
    <caching>
      <sqlCacheDependency enabled="true"pollTime="1000">//此行配置的意思是,开启数据库缓存,轮询时间为1秒,这是为了能够快速看到更改效果
        <databases>
          <add connectionStringName="ApplicationServices"name="con"/>
        </databases>
      </sqlCacheDependency>
    </caching>

三、示例

页面输出缓存配置示例:

<outputCacheSettings>
  <outputCacheProfiles>
    <add name="ServerOnly"  duration="60"//过期时间为60秒
      varyByCustom="browser"location="Server" />
  </outputCacheProfiles>
</outputCacheSettings>

免责声明:文章转载自《Asp.net Web.Config 配置元素 caching》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ecside使用笔记(1)使用jQuery实现tag便签去重效果下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

mybatis问题合集:#{}与${}区别、动态sql语句、缓存机制

一、MyBatis 中#{}和${}区别   #{} 是预编译处理,像传进来的数据会加个" "(#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号)   ${} 就是字符串替换。直接替换掉占位符。$方式一般用于传入数据库对象,例如传入表名.   使用 ${} 的话会导致 sql 注入。什么是 SQL 注入呢?比如 select * from u...

Cache缓存使用

之前做项目的时候需要用到缓存技术对客户端页面的一个List进行缓存设置,在这之前没使用过,因此对此做个记录: 1、缓存的引用空间:System.Web.Caching; 缓存命名空间主要提供三种操作:缓存数据对象、对象的缓存依赖和数据库的缓存依赖。其中缓存任何对象都使用一个类Cache,但当缓存发生改变时,普通对象和数据库对象的依赖处理不同。 2、管理缓存...

手把手教学在Springboot中搭建使用Guava cache,包教包会,不会我输一包辣条给你

 guava cache使用简介   概述   缓存是日常开发中经常应用到的一种技术手段,合理的利用缓存可以极大的改善应用程序的性能。   Guava官方对Cache的描述连接   缓存在各种各样的用例中非常有用。例如,当计算或检索值很昂贵时,您应该考虑使用缓存,并且不止一次需要它在某个输入上的值。   缓存ConcurrentMap要小,但不完全相同。最...

Redis缓存设计和问题处理

工作中做的所有项目都用到了redis,对其设计思路和问题处理做个总结。 key设计:可读性高,定义简洁,不包含特殊字符,一般使用:分隔,比如user:info:1000001,表示id为1000001的缓存key value设计:字符串不宜过长,字符串最大是512M,一般来说超过10k我们就认为他是bigkey,集合,有序集合,哈希,个数不宜太多,比如存储...

Git简易使用教程

1.Git 安装 2.设置git登录信息 3.git操作命令 4.提交代码的过程中几个命令的顺序 5.git 学习资料.   1.Git 安装 Git 下载地址:https://git-scm.com/download/win 安装完成后,鼠标右键里找到“Git Bash Here”,弹出一个类似命令行的窗口,就说明Git安装成功!  ...

SpringCache分布式缓存学习

Spring Cache 简介 Cache接口为缓存的组件规范定义,包含缓存的各种操作集合 Cache接口下Spring提供了各种xxcache的实现;如RedisCache,EhCacheCache,ConcurrentMapCache等; 每次调用需要缓存功能的方法时,Spring会检查检查指定参数的指定的目标方法是否已经被调用过;如果有就直接从缓存...