我一直在使用 HttpRuntime 缓存在一个内部 [dasboard] asp.net 应用程序上缓存简单的用户首选项,该应用程序每天被近 200 名用户使用。
我只是缓存诸如上次查询条件、比例、选项(只是复选框依赖于其他复选框等)之类的内容,以便当用户关闭浏览器时,他们将在下次打开时返回到确切的仪表板/报告选项浏览器。
我不想使用数据库来缓存这些值,因为它们是“无限的”和“动态的”。
无论如何,HttpRunime Cahce 一直工作正常,但现在每隔一段时间它在生产服务器上不起作用。
有没有办法解决这个问题?
最佳答案
缓存是应用程序范围的 - 您是否在每个用户的基础上缓存这些项目?
缓存会周期性地消失,您无法控制这一点 - 如果您需要保留这些项目,那么数据库缓存可能是唯一的出路。
编辑 - 至于无限制和动态,您可以将它们存储在数据库中的 XML 字段中。如果您有一个对象,它们当前存储在缓存中,如果缓存为空,那么从数据库序列化/反序列化它会相对容易。
关于asp.net - HttpRuntime 缓存的生命周期是多少(任何简单的替代方案?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1797706/