用CacheItemRemovedCallback

用CacheItemRemovedCallback

我有一个大型数据集,每天更新一次。我正在缓存对该数据进行的昂贵查询的结果,但我想每天更新该缓存。我正在考虑使用CacheItemRemovedCallback每天间隔重新加载我的缓存,但是我有以下担忧:

  • 是否有可能在我的过期之前(在内存不足的情况下)调用CacheItemRemovedCallback?这意味着立即重新加载它似乎不是一个好主意。
  • 是否在实际删除项目之前或之后调用CacheItemRemovedCallback?如果在此之后,从理论上讲,这会不会在一段时间内不提供缓存?

  • 这些问题是否相关,并且如果使用CacheItemRemovedCallback重新加载缓存不是一个好主意,那么何时才有用?

    最佳答案

  • 如果要重新加载,请确保检查CacheItemRemovedReason。我最近不得不调试一个问题,开发人员决定他们应该立即使用此方法重新填充缓存,并且在内存不足的情况下,它基本上占用了CPU的内存,却陷入了构建缓存对象的循环中,添加了它们到缓存,到期,重复。
  • 删除后,将触发回调
  • 关于c# - 什么时候适合使用CacheItemRemovedCallback?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3739741/

    10-10 12:35