Redis GEOコマンド徹底解説 – 地理空間データの保存・管理・検索方法
地理空間値(Geospatial Value)とは、地球上の特定の場所を示す「経度」と「緯度」の座標情報のことです。Redisでは、地理空間要素はキーに紐づくソート済みセット(Sorted Set)として内部的に保存され、専用のGEOコマンド群を使うことで、位置情報の登録・管理・検索を効率的に行えます。位置情報サービスや「近くのお店を探す」機能などを実装する際に非常に便利な機能です。
基本構文
redis host:port> <コマンド名> <キー名>
実行例

Redis GEO関連コマンド一覧
Redisで地理空間値を操作するための主要コマンドは以下のとおりです。
| No. | コマンド | 説明 |
|---|---|---|
| 1 | GEOADD | 地理空間値に対して、経度・緯度・メンバー名を指定して1つ以上の要素を追加します。既存のメンバーが指定された場合は位置情報が更新されます。 |
| 2 | GEORADIUS | 指定した経度・緯度を中心とした半径の範囲内に存在する要素をすべて返します。距離や座標の同時取得もオプションで可能です。 |
| 3 | GEORADIUSBYMEMBER | 既存メンバーの位置を中心として、その周辺の指定範囲内に含まれる要素を返します。 |
| 4 | GEODIST | 地理空間値に含まれる2つのメンバー間の距離を返します。単位は m(メートル)、km(キロメートル)、ft(フィート)、mi(マイル)から選択できます(デフォルトはm)。 |
| 5 | GEOHASH | 1つ以上のメンバーの位置を表すGeohash文字列を返します。Geohashは位置情報を短い文字列で表現できる形式です。 |
| 6 | GEOPOS | 1つ以上のメンバーの位置(経度・緯度)を返します。 |
補足:GEORADIUS系コマンドの非推奨化について
Redis 6.2以降では、GEORADIUSおよびGEORADIUSBYMEMBERは非推奨(Deprecated)となり、より柔軟な検索条件を指定できるGEOSEARCHおよびGEOSEARCHSTOREコマンドの使用が推奨されています。新規開発ではGEOSEARCHの利用を検討するとよいでしょう。
参考資料
- Redis公式ドキュメント – GEO コマンド
以上が、Redisにおける地理空間値の概要と、その保存・管理に使われる主要コマンドの紹介でした。位置情報を扱うアプリケーション開発の参考になれば幸いです。この記事が役に立った場合は、ぜひコメント欄でご意見をお聞かせください。また、SNSなどでのシェアも歓迎します。
-
Redis GEODISTコマンド徹底解説 – 地理空間データの2つのメンバー間の距離を取得する方法
このチュートリアルでは、キーに保存された地理空間値(ジオスペーシャルデータ)の2つのメンバー間の距離を取得する方法について学びます。この目的のために、RedisのGEODISTコマンドを使用します。 GEODISTコマンドとは GEODISTコマンドは、キーに保存された地理空間値(ソート済みセット)のうち、指定した2つのメンバー間の距離を、指定した単位で返すために使用されます。指定されたメンバーの一方または両方が地理空間値に存在しない場合は、nullが返されます。 指定できる単位は以下の4種類です。 m:メートル(デフォルト) km:キロメートル mi:マイル ft:フィート キーが存在し
-
Redis文字列型コマンド徹底解説 – データストアの文字列値を管理する全24コマンド
文字列(String)は文字が連なったデータであり、Redisにおける最も基本的かつ重要なデータ型の一つです。Redisでは、キーに対して文字列を値として保存することができ、専用のコマンドを使うことで、その保存・管理・取得を柔軟に行えます。本記事では、Redisデータベース内の文字列値を操作するための主要なコマンドを、構文や使用例とあわせて詳しく解説します。 基本構文 redis host:port> <コマンド名> <キー名> 使用例 Redis文字列値の管理コマンド一覧 以下は、Redisデータベース内の文字列値を管理するうえで重要なコマンドの一覧です。用途