Umbraco 获取所有缓存项
Umbraco get all cache items
我正在使用 Umbraco.Core.Cache;
使用 Umbraco 缓存
我使用这行代码获取缓存项没问题
ApplicationContext.Current.ApplicationCache.RuntimeCache.GetCacheItem(
给定正确的缓存键项。
现在我的问题是:
如果我忘记了缓存键项怎么办?有什么办法可以查看所有缓存项吗?或者出于调试目的我只想查看所有这些?
我追踪了所有可能的智能感知建议,但似乎没有 "GetAllCacheItem" 可用
有没有大佬赐教啊?
在编写代码时,如果您使用常量(如下所示),您只能在缓存键上获得智能感知,但缺点是在添加新缓存项时必须保持常量值。
ApplicationContext.ApplicationCache.RuntimeCache.GetCacheItem(CacheKeys.SAMPLE_KEY)
public class CacheKeys
{
public const string SAMPLE_KEY = "some-example-key";
}
调试时您可以按如下方式查看缓存键;在引擎盖下 IRuntimeCacheProvider
(ApplicationContext.ApplicationCache.RuntimeCache
) 使用 HttpRuntime
缓存所以虽然你不能直接迭代 RuntimeCache
属性 中的缓存项你可以使用 HttpRuntime.Cache
喜欢:
var keys = new StringBuilder();
foreach (DictionaryEntry cacheItem in HttpRuntime.Cache)
{
keys.AppendLine(cacheItem.Key.ToString());
}
通过 Umbraco 提供程序添加到运行时缓存的项目包含前缀 "umbrtmche-",因此您可能希望过滤结果:
HttpRuntime.Cache.Cast<DictionaryEntry>()
.Where(x => x.Key.ToString().StartsWith("umbrtmche"))
.Select(x => x.Key.ToString().Replace("umbrtmche-", ""))
.ToList();
最后要注意的是 Umbraco 使用缓存本身,所以你不仅会看到你添加的缓存键,如果你想过滤这些我建议添加你自己的前缀,这样你就可以过滤你的拥有 Umbraco 的缓存键。
我正在使用 Umbraco.Core.Cache;
我使用这行代码获取缓存项没问题
ApplicationContext.Current.ApplicationCache.RuntimeCache.GetCacheItem(
给定正确的缓存键项。
现在我的问题是:
如果我忘记了缓存键项怎么办?有什么办法可以查看所有缓存项吗?或者出于调试目的我只想查看所有这些? 我追踪了所有可能的智能感知建议,但似乎没有 "GetAllCacheItem" 可用
有没有大佬赐教啊?
在编写代码时,如果您使用常量(如下所示),您只能在缓存键上获得智能感知,但缺点是在添加新缓存项时必须保持常量值。
ApplicationContext.ApplicationCache.RuntimeCache.GetCacheItem(CacheKeys.SAMPLE_KEY)
public class CacheKeys
{
public const string SAMPLE_KEY = "some-example-key";
}
调试时您可以按如下方式查看缓存键;在引擎盖下 IRuntimeCacheProvider
(ApplicationContext.ApplicationCache.RuntimeCache
) 使用 HttpRuntime
缓存所以虽然你不能直接迭代 RuntimeCache
属性 中的缓存项你可以使用 HttpRuntime.Cache
喜欢:
var keys = new StringBuilder();
foreach (DictionaryEntry cacheItem in HttpRuntime.Cache)
{
keys.AppendLine(cacheItem.Key.ToString());
}
通过 Umbraco 提供程序添加到运行时缓存的项目包含前缀 "umbrtmche-",因此您可能希望过滤结果:
HttpRuntime.Cache.Cast<DictionaryEntry>()
.Where(x => x.Key.ToString().StartsWith("umbrtmche"))
.Select(x => x.Key.ToString().Replace("umbrtmche-", ""))
.ToList();
最后要注意的是 Umbraco 使用缓存本身,所以你不仅会看到你添加的缓存键,如果你想过滤这些我建议添加你自己的前缀,这样你就可以过滤你的拥有 Umbraco 的缓存键。