是否有规则来命名缓存键

时间:2013-02-05 10:01:35

标签: c# asp.net caching

是否有任何规则为我们在ASP.Net中使用的缓存密钥指定正确的名称。

 string cacheKey = "aaaabbbbbsssssssss";
 ObjectCache cache = MemoryCache.Default;
 CacheItemPolicy cacheItemPolicy = new CacheItemPolicy();
 cacheItemPolicy.AbsoluteExpiration = DateTime.Now.AddDays(15);
 cache.Add(cacheKey, definitions, cacheItemPolicy);

这里的cacheKey =需要是任何字符串..我担心“cacheKey”的值

2 个答案:

答案 0 :(得分:1)

如果你在谈论HttpContext.Current.Cache,那么没有。一般来说,这是您的应用程序使用此缓存,因此您可以完全控制所谓的密钥。

这就是说:如果您担心冲突(例如,您正在使用的其他程序集之间),请考虑使用名称空间限定名称 - 拥有缓存值的类的类型名称可能有效。或者,您可以使用URI - 它们适用于相对独特的名称,因为人们不太可能使用您的域名而没有意义。当然,总有GUID。

答案 1 :(得分:0)

你的意思是说在mvc中使用的动作过滤器我猜它用作属性

[的OutputCache(10)]

在派生类中重写时,尝试将缓存条目作为CacheItem实例插入缓存中,并添加有关如何逐出该条目的详细信息。 (继承自ObjectCache。)