2016-03-11 108 views
1

我在學習redis緩存,只是想知道它支持查詢能力。Redis緩存支持查詢能力

我們有位置表,希望將記錄存儲在redis緩存中(需要按位置名稱或ID進行搜索)。

讓我知道我們如何爲同樣的鑰匙建立鑰匙。

還是我們需要預先添加兩個進入Redis的緩存

jedis.set(TenantId+LocationName, Location) 

jedis.set(TenantId+LocationId, Location) 

謝謝!

回答

1

Redis允許查詢,但與其他NoSQL數據庫一樣,您希望根據查詢方式將數據存儲在其中。如果您需要通過名稱或ID進行查詢,則需要兩個「條目」來實現這一點(順便說一下,這與RDBMS對索引所做的操作並沒有太大區別)。

但是,使用SET命令創建兩個密鑰(一個用於名稱查找,另一個用於id)應該考慮使用Hash數據結構。對於每個租戶,每個位置都保留一個帶有兩個字段的哈希值 - 從名稱映射到ID,反之亦然。在非常僞Java調用HMSET看起來像:

jedis.hmset(TenantId, <LocationName, Location, locationId, Location>); 
+1

冷卻標記爲答案? –

+0

是.................. –