小编Woj*_*tek的帖子

MemoryCache-防止项目过期

在我的应用程序中,我使用MemoryCache,但是我不希望项目过期。因此项目被插入到与默认策略缓存,没有AbsoulteExpiration或者SlidingExpiration被设置。

最近,在最后一台高服务器上,我遇到了缓存问题,因为它返回空值代替期望值,并在之前插入到缓存中。事实证明,不仅合格的项目(如明确设置了到期日期的项目)都从缓存中删除。在内存压力下,超过CacheMemoryLimit和/或值时PhysicalMemoryLimit,MemoryCache也会删除其他元素。

如何预防呢?如何确保将元素设置为一次缓存后,可以再次从中安全地获取它?

我考虑过将设置PollingInterval为某个巨大的值,但这只会延迟潜在的问题(并且轮询间隔在文档中被称为最大时间,而不是确切时间或最小时间)。设置PhysicalMemoryLimitPercentage为100%并不能解决问题,因为它引用的是物理安装的内存,而不是整个可用虚拟内存。还是我错了,这确实会有所帮助吗?

.net c# caching polling memorycache

4
推荐指数
1
解决办法
2435
查看次数

标签 统计

.net ×1

c# ×1

caching ×1

memorycache ×1

polling ×1