Redis Jedis –jedisライブラリを使用してハッシュ値に対してCRUD操作を実行する方法
このチュートリアルでは、Jedisライブラリを使用してハッシュ値に対してCRUD操作を実行する方法について学習します。
ジェダイライブラリ
Jedisは、redisデータストア用のJavaクライアントライブラリです。小さくて非常に使いやすく、redis 2.8.x、3.x.x以降のデータストアと完全に互換性があります。 jedisライブラリの詳細についてはこちらをご覧ください。
ハッシュ値
ハッシュはフィールドと値のペアのマップであり、Javaオブジェクトのようなオブジェクトタイプを表すために使用できます。 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とポート番号を渡す必要があります。コンストラクターへの引数として。
フィールドの値の作成と設定
ハッシュ値内に含まれるフィールドに関連付けられた値を設定するには、3つの方法があります。それらは次のとおりです:-
- hset:- 指定された値をハッシュ値のそれぞれのフィールドに設定します。フィールドがすでに存在する場合、その値は上書きされます。キーが存在しない場合は、集合演算を実行する前に、ハッシュ値を保持する新しいキーが作成されます。
/* Insert name field in <hash-1> */ jedis.hset("hash-1", "name", "john"); /* Insert name field in <hash-2> */ jedis.hset("hash-2".getBytes(), "name".getBytes(), "john".getBytes());
- hsetnx:- フィールドが存在しない場合にのみ、指定された値をハッシュ値のそれぞれのフィールドに設定します。フィールドがすでに存在する場合、この操作は効果がありません。キーが存在しない場合は、集合演算を実行する前に、ハッシュ値を保持する新しいキーが作成されます。
/* Insert name field in <hash-1> */ jedis.hsetnx("hash-1", "name", "john"); /* Insert name field in <hash-2> */ jedis.hsetnx("hash-2".getBytes(), "age".getBytes(), "23".getBytes());
- hmset:- 指定された値をハッシュ値のそれぞれのフィールド(複数のフィールド/値のペア)に設定します。指定されたフィールドのいずれかがすでに存在する場合、その値は上書きされます。キーが存在しない場合は、設定操作を実行する前に、ハッシュ値を保持する新しいキーが作成されます。
/* Insert name and age field in <hash-1> */ Map<String,String> map = new HashMap<String, String>(); map.put("name","john"); map.put("age","23"); jedis.hmset("hash-1", map);
>
フィールドの値を取得
ハッシュ値内に含まれるフィールドに関連付けられた値を取得するには、2つの方法があります。それらは次のとおりです:-
- hget:- ハッシュ値内に含まれる単一のフィールドに関連付けられた値を返します。
/* Get value of name field in <hash-1> */ jedis.hget("hash-1", "name");
- hmget:- ハッシュ値内に含まれる1つ以上のフィールドに関連付けられた値を返します。
/* Get value of name and age field in <hash-1> */ jedis.hmget("hash-1", "name", "age");
サイズ
hlen メソッドは、キーに格納されているハッシュ値に含まれるフィールドの数を取得するために使用されます。
/* Returns number of fields in <hash-1> */ jedis.hlen("hash-1");
削除
hdel メソッドは、キーに格納されているハッシュ値から1つ以上のフィールドを削除するために使用されます。
/* Remove name and age field from <hash-1> */ jedis.hdel("hash-1", "name", "age"); /* Remove name and age field from <hash-2> */ jedis.hdel("hash-2".getBytes(),"name".getBytes(),"age".getBytes());
フィールドの存在を確認する
ヘキシスト メソッドは、指定されたフィールドがハッシュのメンバーであるかどうかを確認するために使用されます。
/* Check if name is a member of <hash-1> or not */ jedis.hexists("hash-1", "name"); /* Check if name is a member of <hash-2> or not */ jedis.hexists("hash-2".getBytes(),"name".getBytes());
すべてを取得
hgetall メソッドは、キーに格納されているハッシュ値に含まれるすべてのフィールドとそれに関連する値を取得するために使用されます。
/* Returns all fields and its values from <hash-1> */ jedis.hgetAll("hash-1"); /* Returns all fields and its values from <hash-2> */ jedis.hgetAll("hash-2".getBytes());
すべてのキーを取得
hkeys メソッドは、キーに格納されているハッシュ値に含まれるすべてのフィールドの名前を取得するために使用されます。
/* Returns all fields names from <hash-1> */ jedis.hkeys("hash-1"); /* Returns all fields names from <hash-2> */ jedis.hkeys("hash-2".getBytes());
すべての値を取得
hvals メソッドは、キーに格納されているハッシュ値に含まれるすべてのフィールドの値を取得するために使用されます。
/* Returns all values from <hash-1> */ jedis.hvals("hash-1"); /* Returns all values from <hash-2> */ jedis.hvals("hash-2".getBytes());
参照:-
- ハッシュコマンドドキュメント
Jedisライブラリを使用してハッシュ値に対してCRUD操作を実行する方法は以上です。気に入った場合は、コメントセクションで自分の考えを共有し、他の人にも共有してください。
-
Redis HGETALL –ハッシュ値に含まれるすべてのフィールド/値のペアを取得する方法
このチュートリアルでは、キーに格納されているハッシュ値に含まれるすべてのフィールドと値のペアを取得する方法について学習します。このために、Redis HGETALLを使用します コマンド。 HGETALLコマンド このコマンドは、キーに格納されているハッシュ値に含まれるすべてのフィールドとそれに関連する値を返します。キーが存在しない場合は空のリストが返され、キーは存在するがキーに格納されている値がハッシュデータ型ではない場合はエラーが返されます。 RedisHGETALLコマンドの構文は次のとおりです。- 構文:- redis host:post> HGETALL <ke
-
Redis Jedis pubsub-jedisライブラリを使用してpub/subシステムを実装する方法
このチュートリアルでは、Jedisライブラリを使用してredispubサブシステムを実装する方法について学習します。 ジェダイライブラリ Jedisは、redisデータストア用のJavaクライアントライブラリです。小さくて非常に使いやすく、redis 2.8.x、3.x.x以降のデータストアと完全に互換性があります。 jedisライブラリの詳細についてはこちらをご覧ください。 Redis Pub / Sub System Redisは、パブリッシュ/サブスクライブメッセージングパラダイムを実装します。このメッセージングパラダイムによれば、メッセージの送信者(発行者)は、メッセージ