Mysql 如何利用cache技术解决复杂的sql数据

Mysql 如何利用cache技术解决复杂的sql数据,mysql,caching,redis,memcached,ehcache,Mysql,Caching,Redis,Memcached,Ehcache,我有一些常用的sql,并且经常使用sql的结果,并添加一些其他条件进行选择。我需要缓存结果。 我尝试将sql结果放在redis中,但键不能满足要求,我无法通过键识别sql关系。 桌子 例如,我想将所有type=2的订单表放入缓存,然后使用结果过滤器all department_id=4。redis键无法填充它。 这个例子很简单,在需求中,它可能是复杂的sql,带有一些表连接结果。 什么缓存技术可以解决这个问题?正如您所指出的,关系数据库和键值存储(或缓存)之间存在不匹配 克服不匹配的通常方法是对

我有一些常用的sql,并且经常使用sql的结果,并添加一些其他条件进行选择。我需要缓存结果。 我尝试将sql结果放在redis中,但键不能满足要求,我无法通过键识别sql关系。 桌子

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

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

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

因此,从您的示例中,可以将选择和筛选的结果缓存在一个缓存键值中

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

欢迎来到这个有趣的地方