是否可以读取MemoryCache中某项的过期时间?

我正在使用.NET System.Runtime.Caching.MemoryCache将配置信息存储30分钟,然后再从数据库中重新加载它。作为状态页的一部分,我想显示特定缓存项目的年代或期限。

object config = LoadSomeStuffFromDatabase();
CacheItemPolicy cachePolicy = new CacheItemPolicy() { AbsoluteExpiration = DateTime.Now.AddMinutes(30) };
Cache.Add("MyConfigKey", config, cachePolicy);

// And now I want to do something like this :-)
DateTime dt = Cache.SomeMagicMethod("MyConfigKey");

今天,我使用的变量是每次重新加载配置时都会更新的变量。但是从缓存本身读取此信息会更好。

最佳答案

我相信已经回答了:

How to get expiry date for cached item?

如果这不是您想要的,请考虑以下事项:

该API不支持从检索缓存项中取回策略。由于可以缓存任何对象,因此可以与对象一起缓存策略,并在以后需要访问对象时进行一些基于时间的比较。

关于c# - 如何检查MemoryCache中的项目何时过期?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33693912/

10-10 13:40