如何使用缓存技术解决复杂sql数据

how to use cache technology solve complex sql data

我有一些常见的sql,经常使用sql的结果,并且添加一些其他条件select.i需要缓存结果。 我尝试将sql结果放入redis,但是key无法接受要求,我无法通过key识别sql关系。 table

例如我想把所有type = 2的订单table放入缓存,然后我使用结果过滤器all department_id =4。键 redis 无法填充它。 这个例子很简单,在要求中,它可以是复杂的 sql 与一些 table 连接结果。 什么缓存技术可以解决这个问题?

正如您所说,关系数据库和键值存储(或缓存)之间存在不匹配。

克服不匹配的常用方法是对数据进行反规范化。那是特定于缓存的结果,然后可以通过单个键查找来检索这些结果。

因此,根据您的示例,您将在一个缓存键值中缓存 select 和过滤器的结果。

当然,对写入的数据执行此操作会引发一致性问题。

欢迎来玩!