我有一个每天更新一次的大型数据集。我正在缓存对该数据的昂贵查询的结果,但我想每天更新该缓存。我使用CacheItemRemovedCallback重装我是每天间隔缓存考虑,但我有以下的忧虑:何时适合使用CacheItemRemovedCallback?
- 是不是有可能是CacheItemRemovedCallback可能我届满前调用(运行内存不足的情况下, )?这意味着立即重新加载它似乎不是一个好主意。
- CacheItemRemovedCallback是否在实际删除项目之前或之后被调用?如果它在后面,这理论上不会在缓存不可用的时间段内留下一段时间吗?
这些问题是否相关,如果使用CacheItemRemovedCallback重新加载缓存是个坏主意,那么它何时有用?
那么'CacheItemRemovedCallback'还有其他实际用途 - 不仅仅是日志记录。举例来说,当缓存项目被移除时,您想要处理的缓存项目保留了外部参考。如果你不使用CacheItemRemovedCallback,那么你将不得不单独依靠垃圾收集器,它在执行时不提供保证(如果在程序生命周期中)。 – 2011-12-29 14:12:48