没有过期的HttpContext.Current.Cache
本文关键字:Current Cache HttpContext 过期 | 更新日期: 2023-09-27 18:03:10
您认为像这样不过期地缓存对象是一种好的做法吗?
HttpContext.Current.Cache.Insert(
key,
value,
null,
System.Web.Caching.Cache.NoAbsoluteExpiration,
System.Web.Caching.Cache.NoSlidingExpiration);
当我从数据库中得到实体时,我把它放到缓存中,如果对象改变了,我就删除缓存项。我不需要过期,我认为这对性能有好处。
如果您永远不希望项目过期,您可以使用ConcurrentDictionary
代替,并将其放在static
变量中。它也适用于HttpContext
不可用的情况。
但是你永远不能指望一个项目是在缓存(或ConcurrentDictionary),因为IIS回收应用程序池,当它感觉它。