到期时自动重新填充缓存

Ben*_*Ben 5 .net c# caching

我目前缓存方法调用的结果。

缓存代码遵循标准模式:如果存在,则使用缓存中的项目;否则,计算结果,将其缓存以供将来调用,然后返回。

我想保护客户端代码免受高速缓存未命中(例如,项目过期时)。

我正在考虑生成一个线程来等待缓存对象的生命周期,然后在现有项过期时(或之前)运行提供的函数来重新填充缓存。

任何人都可以分享与此相关的任何经验吗?这听起来像是明智的做法吗?

我正在使用.NET 4.0。

Hen*_*man 4

由于这是 ASP.NET,因此该Cache.Insert()方法允许您指定回调委托。

这听起来是一个明智的方法吗?

是的,回调(和文件依赖性)正是针对这种情况提供的。您仍然需要在资源、延迟和过时性之间进行权衡。