如何检查 MemoryCache 中的项目何时过期?
How to check when an item in MemoryCache will expire?
是否可以读取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 不支持从缓存项的检索中取回策略。由于您可以缓存任何对象,因此您可以将策略与对象一起缓存,并在以后需要访问该对象时进行一些基于时间的比较。
是否可以读取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 不支持从缓存项的检索中取回策略。由于您可以缓存任何对象,因此您可以将策略与对象一起缓存,并在以后需要访问该对象时进行一些基于时间的比较。