2017-07-27 39 views
0

我是Redis的新手,我試圖找出女巫是將red string中的字符串string []僅存儲在一個集合或數據結構中的最佳方法。將數組存儲在關鍵字可搜索的redis列表中

的想法將是能夠搜索像這樣在結構中的字符串鍵:

set:{ 
    "one":["a","b], 
    "two":["c","d] 
} 

所以生病會得到一個數組,如果找一個字符串鍵。

+0

因爲我想用它作爲索引。而且我已經有兩個以這種方式建造的。我想做一些事情,比如zrank設置一個,然後用這個位置,獲得一個數組。不可能? – Xhark

回答

0

您可以將字符串數組序列化爲字符串,並將新字符串作爲原始鍵的值。

爲了您例如,如果我通過用:接合元件序列陣列,可以有兩個對字符串:

key: "one", value: "a:b" 
key: "two", value: "c:d" 

然後,可以設置這些鍵 - 值對的Redis成,例如SET one a:b

當您從Redis檢索值時,反序列化該值以獲取數組。

+0

那不是我想要的。我想要一個和兩個在同一組 – Xhark

+1

你不能那樣做。然而,如果你確實需要它們在同一個*容器*中,而不是'SET',則可以將兩個鍵值對保存到'HASH'中:'HSET容器一個:b','HSET容器兩個c:d ' –

+0

我同意@ for_stack的方法。使用哈希,每個字段是你的「鑰匙」。我會使用MessagePack(或JSON)來序列化數組並將其存儲爲值。 –