Redis
 Computer >> コンピューター >  >> プログラミング >> Redis

Redisハッシュのフィールド値を取得する方法 – HGET・HMGETコマンド徹底解説

このチュートリアルでは、Redisに保存されたハッシュ値に含まれる特定のフィールドに関連付けられた値を取得する方法について学びます。この目的のために使用するのが、HGETコマンドとHMGETコマンドです。

HGETコマンドとは

HGETコマンドは、指定したキーに保存されているハッシュ値の中から、指定したフィールドに関連付けられた値を1つ取得するために使用します。

動作の挙動は以下のとおりです。

  • キーが存在しない場合、またはハッシュ値に指定したフィールドが存在しない場合はnilが返されます。
  • キーは存在するが、そのキーに保存されている値がハッシュ型でない場合はエラーが返されます。

構文

redis host:port> HGET <keyname> <field>

戻り値

- (string) フィールドの値を表す文字列
- (nil)   ハッシュにフィールドが存在しない場合、またはキーが存在しない場合
- Error   キーは存在するが、保存されている値がハッシュ型でない場合

実行例

Redisハッシュのフィールド値を取得する方法 – HGET・HMGETコマンド徹底解説

HMGETコマンドとは

HMGETコマンドは、指定したキーに保存されているハッシュ値の中から、1つ以上の複数のフィールドに関連付けられた値を一度に取得するために使用します。

ハッシュ内に存在しないフィールドを指定した場合、そのフィールドにはnilが返されます。また、キー自体が存在しない場合は、すべてnilのリストが返されます。キーは存在するが値がハッシュ型でない場合はエラーが返されます。

構文

redis host:port> HMGET <keyname> <field> [ field ]

戻り値

- (array) ハッシュ内のフィールド値のリスト
- (nil)   キーが存在しない場合(全要素がnilのリスト)
- Error   キーは存在するが、保存されている値がハッシュ型でない場合

実行例

Redisハッシュのフィールド値を取得する方法 – HGET・HMGETコマンド徹底解説

HGETとHMGETの使い分けのポイント

  • HGET:単一のフィールドの値だけが必要な場合に最適です。
  • HMGET:複数のフィールドの値をまとめて取得したい場合に便利で、ネットワークラウンドトリップを削減できます。

参考ドキュメント

  1. HGETコマンド公式ドキュメント
  2. HMGETコマンド公式ドキュメント

以上が、Redisデータストアに保存されたハッシュ値からフィールドに関連付けられた値を取得する方法の解説でした。この記事が役に立った場合は、ぜひコメント欄でご意見をお聞かせください。また、他の方にもシェアしていただけると嬉しいです。

<- ハッシュ関連コマンド一覧へ

  1. Redis HGETALLコマンドの使い方 – ハッシュに含まれるすべてのフィールドと値のペアを一括取得する方法

    このチュートリアルでは、Redisのキーに保存されたハッシュ値に含まれるすべてのフィールドと値のペアを取得する方法について解説します。この操作には、RedisのHGETALLコマンドを使用します。 HGETALLコマンドとは HGETALLコマンドは、指定したキーに保存されているハッシュ値に含まれるすべてのフィールドと、それぞれに関連付けられた値を返すコマンドです。 動作のポイントは以下の通りです。 キーが存在しない場合は、空のリストが返されます(エラーにはなりません)。 キーは存在するが、その値がハッシュ型ではない場合は、エラーが返されます。 構文 redis host:port>

  2. Redis GEODISTコマンド徹底解説 – 地理空間データの2つのメンバー間の距離を取得する方法

    このチュートリアルでは、キーに保存された地理空間値(ジオスペーシャルデータ)の2つのメンバー間の距離を取得する方法について学びます。この目的のために、RedisのGEODISTコマンドを使用します。 GEODISTコマンドとは GEODISTコマンドは、キーに保存された地理空間値(ソート済みセット)のうち、指定した2つのメンバー間の距離を、指定した単位で返すために使用されます。指定されたメンバーの一方または両方が地理空間値に存在しない場合は、nullが返されます。 指定できる単位は以下の4種類です。 m:メートル(デフォルト) km:キロメートル mi:マイル ft:フィート キーが存在し