0

我们有一个设计不佳的购物车数据库。所有将用于前端站点的已处理对象都存储在 HttpContext.Current.Cache 上Application_Start。已处理对象我的意思是来自具有许多连接和 where 条件的 sql 脚本的结果。

寻找删除缓存或改进当前缓存过程的最佳解决方案。我正在考虑将处理后的对象存储到一个 SQL Server 表中,该表将在每个午夜重新填充。并使用 Dapper ORM 从这个 SQL Server 表中检索数据并实现输出缓存。

希望有人会为这个问题分享一个高速且可维护的解决方案。:)

谢谢!

4

1 回答 1

2

您所描述的实际上是:将数据复制到第二个(技术上冗余)模型中,更适合查询。如果是这样,那么肯定:玩得开心-这并不罕见。但是,在做所有这些之前,您可能想尝试索引视图- 这可能会解决大多数问题,而无需编写所有维护代码。

但是,我建议不要“删除缓存”-而只是“使缓存在某个时候过期”;有一个重要的区别。在每个请求上访问数据库以获取相同的数据并不是一个好主意。

于 2013-07-20T19:56:20.873 回答