【问题标题】:how to use cache technology solve complex sql data如何使用缓存技术解决复杂的sql数据
【发布时间】:2015-10-01 09:10:42
【问题描述】:

我有一些常用的sql,经常使用sql的结果,并在select中添加了一些其他条件。我需要缓存结果。 我尝试将sql结果放在redis中,但是key无法满足要求,我无法通过key识别sql关系。 表

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

【问题讨论】:

    标签: mysql caching redis memcached ehcache


    【解决方案1】:

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

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

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

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

    欢迎来玩!

    【讨论】:

      猜你喜欢
      • 2010-09-23
      • 1970-01-01
      • 2012-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-20
      • 2012-04-29
      相关资源
      最近更新 更多