web-dev-qa-db-ja.com

RedisデータベースのHSETメソッドとHMSETメソッドの違いは何ですか

私のアプリケーションでは、redisデータベースを使用しています。彼らのドキュメントを調べましたが、HSETとHMSETの違いを見つけることができませんでした。

46
sachin

HMSETはHSETに似ていますが、複数のフィールド/値のペアを一度に設定できます。

更新

2017年10月現在、現在のredisバージョン(私のマシンでは4.0.2)のHSETは、複数のキーと値のペアを設定することもできます。

127.0.0.1:6379> HSET foo a 1 b 2
(integer) 2
127.0.0.1:6379> HGETALL foo
1) "a"
2) "1"
3) "b"
4) "2"

したがって、これらのコマンドは同一になりました。

64

HSETキーフィールド値

キーに保存されているハッシュのフィールドを値に設定します。キーが存在しない場合、ハッシュを保持する新しいキーが作成されます。ハッシュにフィールドが既に存在する場合、上書きされます。

HMSETキーフィールド値[フィールド値...]

指定されたフィールドを、keyに格納されているハッシュのそれぞれの値に設定します。このコマンドは、ハッシュ内の既存のフィールドを上書きします。キーが存在しない場合、ハッシュを保持する新しいキーが作成されます。

Redisコマンドの詳細については、 ここをクリック

17

コマンド HSETHMSET の唯一の違いは、return valueコマンド。

HSET戻り値(整数応答):

  • #フィールドがハッシュの新しいフィールドであり、値が設定されている場合。 (どこ #は、作成された新しいフィールドの数です)
  • フィールドがハッシュに既に存在し、値が更新された場合は0。

HMSETは、単純な文字列を応答として返します。

1
Gunasekar