Asp.net HttpRuntime缓存(任何简单的替代方案)的寿命是多少

Asp.net HttpRuntime缓存(任何简单的替代方案)的寿命是多少,asp.net,caching,httpruntime,Asp.net,Caching,Httpruntime,我一直在使用HttpRuntime缓存在一个内部[dasboard]asp.net应用程序上缓存简单的用户首选项,该应用程序每天有近200名用户使用 我只是缓存一些东西,比如最后的查询条件、比例、选项(只是依赖于其他复选框的复选框等),这样当用户关闭浏览器时,下次打开浏览器时,它们将返回到准确的仪表板/报告选项 我不想使用数据库缓存这些值,因为它们是“无限”和“动态”的 无论如何,HttpRunime-Cahce一直工作得很好,但现在每隔一段时间它就不能在生产服务器上工作。 有什么方法可以解决此

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

我只是缓存一些东西,比如最后的查询条件、比例、选项(只是依赖于其他复选框的复选框等),这样当用户关闭浏览器时,下次打开浏览器时,它们将返回到准确的仪表板/报告选项

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

无论如何,HttpRunime-Cahce一直工作得很好,但现在每隔一段时间它就不能在生产服务器上工作。
有什么方法可以解决此问题吗?

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

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

缓存将周期性地消失,而您对此没有控制权-如果您需要这些项来持久化,那么DB缓存可能是唯一的方法


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

我实际上只是将关键设置保存到数据库中,将非关键设置保存到cookie中