数据从缓存中消失——键保留,但值为空

本文关键字:保留 缓存 消失 数据 | 更新日期: 2023-09-27 17:53:05

我们有几个相当大的ASP。NET 2.0应用程序,用c#编写,运行在Windows Web Server 2008上。我们经常使用缓存,直到最近都没有问题。然而,在过去的几个月里,我们在使用缓存的方法中出现了随机错误。虽然键存在,但值Cache[key]似乎为空。或者在缓存中有一个集合,它的所有元素突然都为空(集合是用常量初始化的,所以这些不是数据库问题)。这怎么可能呢?有任何已知的错误吗?是服务器内存故障还是磁盘故障?

数据从缓存中消失——键保留,但值为空

即使您使用Cache.NoAbsoluteExpiration + Cache.NoSlidingExpiration填充您的缓存,ASP. NET可以从缓存中删除项目(例如,当内存变低时)。

CacheItemPriority.NotRemovable传递给Cache.Insert()以防止发生