2017-07-27 8 views
0

私はRedisには新しく、ペア文字列を格納する最良の方法は文字列[]だけです。キー検索可能な赤目リストに配列を格納

アイデアは、このような構造では、文字列のキーを検索できるようになります:

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

文字列キーの見た目のであれば病気の配列を取得します。

+0

インデックスとして使用したいのでそして、私はすでにそのように2つを作りました。私はzrank set oneのようなことをしたい、そしてそのポジションで配列を得る。不可能である? – Xhark

答えて

0

文字列の配列をシリアル化して文字列にし、新しい文字列を元のキーの値として使用できます。そして、あなたは、例えば、Redisのにこれらのキーと値のペアを設定することができます

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

:私は:で要素を結合することにより、配列をシリアライズ場合

あなたたとえば、あなたは文字列の2ペアを持つことができますSET one a:b

Redisから値を取得するとき、値を逆シリアル化して配列を取得します。

+0

それは私が欲しいものではありません。私は同じセットで1と2をしたいです – Xhark

+1

あなたはそれを行うことはできません。ただし、 'SET'ではなく、同じ* container *でそれらが必要な場合は、両方のキーと値のペアを' HASH'に保存することができます: 'HSET container one a:b'、' HSET container two c:d ' –

+0

私は@ for_stackのアプローチに同意します。ハッシュを使用して、各フィールドはあなたの "キー"です。私はMessagePack(またはJSON)を使用して配列をシリアル化し、値として格納します。 –