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

Redis Jedis –jedisライブラリを使用して地理的価値に対してCRUD操作を実行する方法

このチュートリアルでは、Jedisライブラリを使用してgeo値に対してCRUD操作を実行する方法について学習します。

ジェダイライブラリ

Jedisは、redisデータストア用のJavaクライアントライブラリです。小さくて非常に使いやすく、redis 2.8.x、3.x.x以降のデータストアと完全に互換性があります。 jedisライブラリの詳細についてはこちらをご覧ください。

ジオバリュー

地理空間値には、地球上の特定の場所の経度と緯度の座標が含まれます。Redisでは、地理空間要素をキーに保存された並べ替えられた設定値に保存でき、さまざまなredisコマンドを使用して、redisデータベースに保存された地理空間値を保存、管理、取得します。 。ジオコマンドの詳細については、こちらをご覧ください。

プロジェクトの設定

お気に入りのIDEで単純なMavenプロジェクトを作成し、以下の依存関係を pom.xmlに追加します。 ファイル。

<dependency>
  <groupId>redis.clients</groupId>
  <artifactId>jedis</artifactId>
  <version>3.0.1</version>
</dependency>

jedisライブラリの最新バージョンについては、このページを確認してください。

Redisのインストール

最新バージョンのRedisをインストールする必要があります。 redisのインストールの詳細については、このページを確認してください。

ジェダイコネクション

ジェダイのオブジェクトを作成します ( redis.clients.jedis.Jedis )Javaコードをredisに接続するためのクラス。

Jedis jedis = new Jedis();

ローカルマシンとデフォルトポート(6379)で1つのredisサービスを開始した場合、デフォルトのコンストラクターは正常に機能します。それ以外の場合は、正しいホストURLとポート番号を渡す必要があります。コンストラクターへの引数として。

作成と追加

geoadd メソッドは、キーに格納されている地理空間値(並べ替えられたセット)に1つ以上の地理空間メンバーを追加するために使用されます。

/* Insert London Geo Coordinate in <geo-1> */
jedis.geoadd("geo-1", 51.5074, 0.1278, "London");

/* Insert London and Paris Geo Coordinate in <geo-2> */
Map<String,GeoCoordinate> map = new HashMap<String, GeoCoordinate>();		
map.put("London", new GeoCoordinate(51.5074, 0.1278));
map.put("Paris", new GeoCoordinate(48.8566, 2.3522));
jedis.geoadd("geo-2", map);
>

地理座標を取得

geopos メソッドは、キーに格納されている地理空間値(並べ替えられたセット)の1つ以上のメンバーのGeoCoordinate(経度、緯度)を取得するために使用されます。

/* Returns GeoCoordinate of London and Paris from <geo-1> */
List geoCoordinates = jedis.geopos("geo-1", "London", "Paris");

GeoHashを入手

ジオハッシュ メソッドは、キーに格納されている地理空間値(保存されたセット)の1つ以上のメンバーの有効なジオハッシュ文字列を取得するために使用されます。

/* Returns GeoHash String of London and Paris from <geo-1> */
List geoStrings = jedis.geohash("geo-1", "London", "Paris");

2人のメンバー間の距離

ジオディスト メソッドは、指定された単位のキーに格納されている地理空間値(Sorted Set)の2つのメンバー間の距離を取得するために使用されます。単位はmで指定できます (メートル)、 km (キロメートル)、 mi (マイル)、フィート (フィート)。

/* Returns Distance between London & Paris in kilometers from <geo-1> */
Double distance = jedis.geodist("geo-1", "London", "Paris", GeoUnit.KM);
>

参照:-

  1. ジオコマンドドキュメント

Jedisライブラリを使用してgeo値に対してCRUD操作を実行する方法は以上です。気に入った場合は、コメントセクションで自分の考えを共有し、他の人にも共有してください。


  1. Redis GEORADIUS –特定のエリア内にある地理的価値の要素を取得する方法

    このチュートリアルでは、特定の領域に該当するキーに格納されている地理空間値の要素を取得する方法について学習します。このために、Redis GEORADIUSを使用します コマンド。 GEORADIUSコマンド このコマンドは、経度、緯度、および半径の引数を使用して計算された領域の境界内にある、キーに格納されている地理空間値(Sorted Set)の1つ以上のメンバーを返すために使用されます。この面積は、指定された経度、緯度の値を円の中心位置として使用し、指定された単位の半径を円の半径として使用して計算されます。 半径は、次のいずれかの単位を使用して指定されます:- m メーター

  2. Redis Jedis pubsub-jedisライブラリを使用してpub/subシステムを実装する方法

    このチュートリアルでは、Jedisライブラリを使用してredispubサブシステムを実装する方法について学習します。 ジェダイライブラリ Jedisは、redisデータストア用のJavaクライアントライブラリです。小さくて非常に使いやすく、redis 2.8.x、3.x.x以降のデータストアと完全に互換性があります。 jedisライブラリの詳細についてはこちらをご覧ください。 Redis Pub / Sub System Redisは、パブリッシュ/サブスクライブメッセージングパラダイムを実装します。このメッセージングパラダイムによれば、メッセージの送信者(発行者)は、メッセージ