Redisハッシュのフィールド値を取得する方法 – HGET・HMGETコマンド徹底解説
このチュートリアルでは、Redisに保存されたハッシュ値に含まれる特定のフィールドに関連付けられた値を取得する方法について学びます。この目的のために使用するのが、HGETコマンドとHMGETコマンドです。
HGETコマンドとは
HGETコマンドは、指定したキーに保存されているハッシュ値の中から、指定したフィールドに関連付けられた値を1つ取得するために使用します。
動作の挙動は以下のとおりです。
- キーが存在しない場合、またはハッシュ値に指定したフィールドが存在しない場合はnilが返されます。
- キーは存在するが、そのキーに保存されている値がハッシュ型でない場合はエラーが返されます。
構文
redis host:port> HGET <keyname> <field>
戻り値
- (string) フィールドの値を表す文字列 - (nil) ハッシュにフィールドが存在しない場合、またはキーが存在しない場合 - Error キーは存在するが、保存されている値がハッシュ型でない場合
実行例

HMGETコマンドとは
HMGETコマンドは、指定したキーに保存されているハッシュ値の中から、1つ以上の複数のフィールドに関連付けられた値を一度に取得するために使用します。
ハッシュ内に存在しないフィールドを指定した場合、そのフィールドにはnilが返されます。また、キー自体が存在しない場合は、すべてnilのリストが返されます。キーは存在するが値がハッシュ型でない場合はエラーが返されます。
構文
redis host:port> HMGET <keyname> <field> [ field ]
戻り値
- (array) ハッシュ内のフィールド値のリスト - (nil) キーが存在しない場合(全要素がnilのリスト) - Error キーは存在するが、保存されている値がハッシュ型でない場合
実行例

HGETとHMGETの使い分けのポイント
- HGET:単一のフィールドの値だけが必要な場合に最適です。
- HMGET:複数のフィールドの値をまとめて取得したい場合に便利で、ネットワークラウンドトリップを削減できます。
参考ドキュメント
- HGETコマンド公式ドキュメント
- HMGETコマンド公式ドキュメント
以上が、Redisデータストアに保存されたハッシュ値からフィールドに関連付けられた値を取得する方法の解説でした。この記事が役に立った場合は、ぜひコメント欄でご意見をお聞かせください。また、他の方にもシェアしていただけると嬉しいです。
<- ハッシュ関連コマンド一覧へ
-
Redis HGETALLコマンドの使い方 – ハッシュに含まれるすべてのフィールドと値のペアを一括取得する方法
このチュートリアルでは、Redisのキーに保存されたハッシュ値に含まれるすべてのフィールドと値のペアを取得する方法について解説します。この操作には、RedisのHGETALLコマンドを使用します。 HGETALLコマンドとは HGETALLコマンドは、指定したキーに保存されているハッシュ値に含まれるすべてのフィールドと、それぞれに関連付けられた値を返すコマンドです。 動作のポイントは以下の通りです。 キーが存在しない場合は、空のリストが返されます(エラーにはなりません)。 キーは存在するが、その値がハッシュ型ではない場合は、エラーが返されます。 構文 redis host:port>
-
Redis GEODISTコマンド徹底解説 – 地理空間データの2つのメンバー間の距離を取得する方法
このチュートリアルでは、キーに保存された地理空間値(ジオスペーシャルデータ)の2つのメンバー間の距離を取得する方法について学びます。この目的のために、RedisのGEODISTコマンドを使用します。 GEODISTコマンドとは GEODISTコマンドは、キーに保存された地理空間値(ソート済みセット)のうち、指定した2つのメンバー間の距離を、指定した単位で返すために使用されます。指定されたメンバーの一方または両方が地理空間値に存在しない場合は、nullが返されます。 指定できる単位は以下の4種類です。 m:メートル(デフォルト) km:キロメートル mi:マイル ft:フィート キーが存在し