2017-07-29 24 views
0

我有包含項目ID及其價格的數據。我想把item id作爲關鍵和價格作爲價值。 我能想到的最好的辦法是如何在Redis實例中有效地保存項目價格地圖數據

> set item:1 2300 
> set item:2 4300 

等。

但是,這個問題是我必須運行一個循環來設置我的節點中的所有數據。如何在redis中使用數據結構,它將所有鍵 - 值對一起設置並向上插入(替換或插入)所需的鍵。

回答

1

您可以使用MSET命令一次設置多個鍵值對。

此外,SETMSET命令都是upserts操作。如果鍵不存在,則這些命令插入鍵值對,否則更新該值。

0

您可以爲此使用單個HSET。

HMSET HSET:ITEM:PRICES item:1 2300 item:2 4300 item:3 5800 item:<ID> <PRICE> ... 

更多存儲器效率可以刪除「項目:」從字段名(redis的將僅使用4 + 4個字節用於在存儲器中的每個這樣的條目)。

HMSET HSET:ITEM:PRICES 1 2300 2 4300 3 5800 <ID> <PRICE> ... 

然後,如果你想檢索項目1的價格和2

HMGET HSET:ITEM:PRICES item:1 item:2 

,或者如果你只是使用更有效的方式:

HMGET HSET:ITEM:PRICES 1 2 
相關問題