【发布时间】:2011-04-12 07:13:56
【问题描述】:
我目前缓存了一个方法调用的结果。
缓存代码遵循标准模式:如果缓存中的项目存在,它会使用它,否则它会计算结果,在返回之前将其缓存以供将来调用。
我想保护客户端代码免受缓存未命中(例如,当项目过期时)。
我正在考虑生成一个线程来等待缓存对象的生命周期,然后在现有项目到期时(或之前)运行提供的函数来重新填充缓存。
任何人都可以分享与此相关的任何经验吗?这听起来是不是一种明智的做法?
我正在使用 .NET 4.0。
【问题讨论】:
-
我将在 asp.net 中使用缓存。我觉得这个方法相对独立于技术,所以我提出了相对技术不可知的问题。
-
我正在研究这个并考虑使用 System.Timers.Timer 而不是生成一个新线程并且是在到期前刷新。