gpt4 book ai didi

c# - 如何获取缓存项的到期日期?

转载 作者:太空狗 更新时间:2023-10-30 00:44:53 25 4
gpt4 key购买 nike

我在 MemoryCache 中存储一个对象:

void foo()
{
ObjectCache cache = MemoryCache.Default;
SomeClass obj = cache["CACHE_KEY"] as SomeClass;
if (null == obj )
{
obj = new SomeClass(); ....
CacheItemPolicy policy = new CacheItemPolicy();
//update
policy.AbsoluteExpiration = DateTime.Now+TimeSpan.FromMinutes(1);
cache.Set("CACHE_KEY", obj, policy);
}
else
{
//get expiry date
}
.....
}

如果缓存中包含对象,是否有可能以某种方式获取到期日期?

最佳答案

既然你设置的是滑动过期时间,那不就是从你访问的时间算起10分钟吗?如果对象为 null,则缓存条目已过期,如果不是,则过期(在上面的代码中)始终是从您检查的时间起 10 分钟?

或者您可以拥有一个基础对象(所有可缓存对象都继承自该基础对象),并将到期时间作为在您添加到缓存时设置的属性。当你提取对象时,你检查属性,你有过期时间来计算差异。只是一个想法。

关于c# - 如何获取缓存项的到期日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6739130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com