什么是HttpRuntime Cache的寿命(任何简单的替代方案?)

时间:2009-11-25 15:30:10

标签: asp.net caching httpruntime

我一直在使用HttpRuntime Cache来缓存内部[dasboard] asp.net应用程序上的简单用户首选项,该应用程序每天被近200名用户使用。

我只是缓存诸如最后查询条件,比例,选项(仅取决于其他复选框等的复选框)等内容,以便当用户关闭浏览器时,它们将返回到下一个确切的仪表板/报表选项他们打开浏览器的时间。

我不想使用数据库来缓存这些值,因为它们是“无限制”和“动态”的。

无论如何,HttpRunime Cahce一直运行良好,但现在每隔一段时间它就无法在生产服务器上运行。 有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:2)

缓存是应用程序范围的 - 您是按每个用户缓存这些项目吗?

缓存会定期死亡,你无法控制它 - 如果你需要这些项目持续存在,那么数据库缓存可能是唯一的方法。

编辑 - 对于无限和动态,您可以将它们存储在数据库的XML字段中。如果您有一个当前存储在缓存中的对象,如果缓存为空,则可以相对容易地从数据库中序列化/反序列化它。

答案 1 :(得分:1)

当您插入缓存时,有时间和绝对过期设置可用,但当应用程序池循环使用时,缓存将被清除。检查IIS中的应用程序池设置,并查看它的回收频率。