首頁  >  問答  >  主體

redis怎么处理mysql的关联数据?

mysql数据库中有A、B、C三张表,现在应用程序得到的数据是由这三张表关联查询后得到的结果集。
每个用户得到的关联查询结果是不一样的。
我想插入数据时就直接写入到redis,用户所有操作都在redis里面,定时把数据同步到mysql,但是redis不支持关联查询,redis如何返回mysql关联查询出的结果呢?

PHP中文网PHP中文网2741 天前602

全部回覆(2)我來回復

  • 天蓬老师

    天蓬老师2017-04-17 13:13:39

    如果關聯查詢很緊密,可能選用redis就是錯誤的,更適合選擇一個支援條件查詢的產品,例如MongoDB;

    如果不是很緊密,分別查詢ABC,判斷where後的條件篩選對哪個表能得到最小的結果集;然後拿這個最小結果集去查其它兩個表;

    另外,redis支援交集,不過這個時間複雜度比較高,不一定有自己篩選一遍來的更快;
    http://redisdoc.com/set/sinter.html

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-17 13:13:39

    你用Map表儲存可以麼?

    回覆
    0
  • 取消回覆