哪些Sitecore缓存受Caching.ScavengeInterval影响,以及如何?

时间:2014-01-27 16:40:44

标签: caching sitecore sitecore7

查看web.config中的缓存设置,我遇到了Caching.ScavengeInterval条目:

<!--  SCAVENGE INTERVAL
Determines how often scavengable caches are scavenged.
Default value: 3 minutes.
-->
<setting name="Caching.ScavengeInterval" value="00:03:00" />

它会影响哪些缓存,并且Sitecore内置了自动缓存清理功能吗? Cache清理在Sitecore上下文中做了什么?

我对它是否会影响IsUserInRole缓存特别感兴趣。

1 个答案:

答案 0 :(得分:6)

这不会直接回答你的问题,但希望它会推动正确的方向。

您可以使用Sitecore Rocks查看当前缓存,有一列可以告诉您哪些缓存被标记为可扫描:

http://www.sitecore.net/Community/Technical-Blogs/Trevor-Campbell/Posts/2013/02/28-Days-of-Sitecore-Rocks-Manage-Part-3.aspx

在默认安装的Sitecore上,它只会影响GeoIp和ClientDataStore。不幸的是:

  

客户端数据存储缓存存储有关每个的信息   经过身份验证的用户,例如用户名或其他用户属性。

Sitecore Cache Configuration Guide - 第20页

根据您的需要,这是错误的缓存,您对IsUserInRoleCache感兴趣并且标记为Scavengable:false

您可以深入了解自己,使用dotPeek decompiler并查看Sitecore.Kernel.dll中的以下课程:

  • Sitecore.Caching.Cache
  • Sitecore.Caching.CacheManager
  • Sitecore.Configuration.ClientDataStore