2015-07-13 67 views
0

我有一些常見的sql,並經常使用sql的結果,並添加一些其他條件來select.i需要緩存結果。 我試圖把sql結果放在redis中,但是關鍵字不能採用這個要求,我沒有通過key來識別sql關係。 表如何使用緩存技術解決複雜的sql數據

例如我想把所有類型= 2的訂單表放在緩存中,然後我使用結果篩選器所有department_id = 4。關鍵的redis無法填充它。 這個例子很簡單,在需求方面,它可以是一些表連接結果的複雜sql。 什麼緩存技術可以解決這個問題?

回答

0

如您所示,關係數據庫與鍵值存儲(或緩存)之間存在不匹配。

克服不匹配的常用方法是對數據進行去歸一化。這是緩存特定的結果,然後可以通過單鍵查找來檢索。

因此,從您的示例中,您將緩存select和AND過濾器的結果到一個緩存鍵值中。

當然,對寫入的數據執行此操作會引發一致性問題。

歡迎來到樂趣!