84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
mysql数据库中有A、B、C三张表,现在应用程序得到的数据是由这三张表关联查询后得到的结果集。 每个用户得到的关联查询结果是不一样的。 我想插入数据时就直接写入到redis,用户所有操作都在redis里面,定时把数据同步到mysql,但是redis不支持关联查询,redis如何返回mysql关联查询出的结果呢?
认证0级讲师
如果關聯查詢很緊密,可能選用redis就是錯誤的,更適合選擇一個支援條件查詢的產品,例如MongoDB;
如果不是很緊密,分別查詢ABC,判斷where後的條件篩選對哪個表能得到最小的結果集;然後拿這個最小結果集去查其它兩個表;
另外,redis支援交集,不過這個時間複雜度比較高,不一定有自己篩選一遍來的更快;http://redisdoc.com/set/sinter.html
你用Map表儲存可以麼?
如果關聯查詢很緊密,可能選用redis就是錯誤的,更適合選擇一個支援條件查詢的產品,例如MongoDB;
如果不是很緊密,分別查詢ABC,判斷where後的條件篩選對哪個表能得到最小的結果集;然後拿這個最小結果集去查其它兩個表;
另外,redis支援交集,不過這個時間複雜度比較高,不一定有自己篩選一遍來的更快;
http://redisdoc.com/set/sinter.html
你用Map表儲存可以麼?