2012-01-24 12 views
1

Redis-pyクライアントを介して、レディスデータベースにキーと値のペアを保存しています。すべてのキーは一意であり、重複はありません。ここに例があります:ハッシュの有無にかかわらずキー値ペアを保存する

key = 133735570 
value = {"key":133735570,"value":[[141565041,1.2],[22592300,1.0],[162439394,1.0],[19397942,1.0],[79996146,1.0],[84352985,1.0],[123276403,1.0],[18356816,1.0],[113839687,1.0],[16235789,1.0],[144779115,1.0],[94628304,1.0],[134973120,1.0],[138501363,1.0],[34351681,1.0],[80202522,1.0],[81561595,1.0],[18913677,1.0],[130488590,1.0],[128208311,1.0],[93912155,0.5]]} 

パフォーマンスを向上させるには、ハッシュ(キー名と同じ)を追加しますか?たとえば、

key = 133735570 
hash = 133735570 
value = {"key":133735570,"value":[[141565041,1.2],[22592300,1.0],[162439394,1.0],[19397942,1.0],[79996146,1.0],[84352985,1.0],[123276403,1.0],[18356816,1.0],[113839687,1.0],[16235789,1.0],[144779115,1.0],[94628304,1.0],[134973120,1.0],[138501363,1.0],[34351681,1.0],[80202522,1.0],[81561595,1.0],[18913677,1.0],[130488590,1.0],[128208311,1.0],[93912155,0.5]]} 

私の要件は、キーを検索して対応する値を取得することです。

答えて

0

​​3210データ構造(ペアのキー部分はハッシュフィールドとして格納され、値部分はハッシュ値として格納されます;チェックアウトHMSET)内に、キー値ペアデータ操作の方が柔軟性があり、平文の値文字列よりもconsume less memoryである可能性があります。

+0

したがって、現在のredisObject.hset(key、key、value)ではなくredisObject.hmset(key、value)を実行する必要がありますか?注:* NO *重複キーがあります。それでもメモリの効率化に役立つでしょうか? – Dexter

+0

ああ、すでにハッシュを使用していますか? HMSETでは、1回の操作で複数のフィールド/値ペアをハッシュに設定できます。記事によると、それはメモリ効率的でなければならないが、確実に一つの方法しかないので、おそらくそれを試してみる必要があります。 – yojimbo87

関連する問題