查看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缓存特别感兴趣。
答案 0 :(得分:6)
这不会直接回答你的问题,但希望它会推动正确的方向。
您可以使用Sitecore Rocks查看当前缓存,有一列可以告诉您哪些缓存被标记为可扫描:
在默认安装的Sitecore上,它只会影响GeoIp和ClientDataStore。不幸的是:
客户端数据存储缓存存储有关每个的信息 经过身份验证的用户,例如用户名或其他用户属性。
Sitecore Cache Configuration Guide - 第20页
根据您的需要,这是错误的缓存,您对IsUserInRoleCache
感兴趣并且标记为Scavengable:false
您可以深入了解自己,使用dotPeek decompiler并查看Sitecore.Kernel.dll
中的以下课程: