如何在没有过期的情况下缓存对象是一种很好的做法,如下所示:
HttpContext.Current.Cache.Insert(
key,
value,
null,
System.Web.Caching.Cache.NoAbsoluteExpiration,
System.Web.Caching.Cache.NoSlidingExpiration);
当我从数据库中获取实体时,我将其放入缓存中,如果对象已更改,则删除缓存项。而且我不需要过期,我认为这对性能有好处。
答案 0 :(得分:1)
如果您不希望这些项目过期,您可以使用ConcurrentDictionary
代替它并将其放入static
变量中。当HttpContext
不可用时,它也适用于情景。
但是你永远不能指望一个项目在Cache(或ConcurrentDictionary)中,因为IIS会在它感觉到它时回收应用程序池。