2017-07-29 3 views
0

アイテムIDとその価格を含むデータがあります。私はアイテムIDをキーとして、価格を値として入れたい。 私は考えることができる最善の方法はこれにRedisインスタンスでアイテム価格マップデータを効率的に保存する方法

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

とあります。

しかし、この問題は、ノード内のすべてのデータを設定するためにループを実行する必要があることです。どのようにして、すべてのキーと値のペアを1つに設定し、希望するキーをアップセル(置換または挿入)するかを設定するデータ構造を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バイトを使用します)。あなたがアイテム1と2

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

またはあなただけのより効率的な方法を使用している場合の価格取得したい場合は、

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

HMGET HSET:ITEM:PRICES 1 2 
関連する問題