1。はじめに
Redisは、データベース、キャッシュ、メッセージミドルウェアとして使用できるオープンソース(BSDライセンス)内のキー価値ストレージシステムです。
2。キーの操作
まず、接続を確立する必要があります。 Jedis Jedis = new Jedis( "127.0.0.1"、6379)、そして弦、set、zset、およびhashを操作できます。
//キーパブリックボイドkeytest(){system.out.println(jedis.flushdb()); // clear data system.out.println(jedis.echo( "hello")); "Value1"); jedis.set( "key2"、 "values2"); System.out.println(jedis.exists( "key1")); // sting randomkey = jedis.randomkey()でキーが存在するかどうかを判断します。 System.out.println(jedis.pttl( "key1")); //残りの生存時間//キーの有効期限時間jedis.persist( "key1");キー文字列値の値をエクスポート= jedis.get( "key1"); system.out.println(value); //キーJedis.renamenx( "key1"、 "keytest");キー *データベース内のすべてのキーと一致します。 //キーH?LLOはHello、Hallo、Hxlloなどに一致します。 //特別なシンボルは /によって分離されます。 <string> set = jedis.keys( "k*"); //すべての関連するキーキーメソッドSystem.out.println(set); jedis.del( "key1"); //キーdelメソッドSystem.out.out.println(jedis.exists( "key1");}を削除する3。文字列データ型
Mystr「Hello World!」を設定します// set string type get mystr //文字列タイプを読み取り、文字列で数値操作を実行します127.0.0.1:6379> set mynum "2" ok127.0.0.1:6379> get mynum "2"
Java操作コードは次のとおりです。
// stringでテスト操作public void stringtest(){jedis.set( "hello"、 "hello"); // setsystem.out.println(jedis.get( "hello")); jedis.set( "hello"、 "123"); system.out.println(jedis.get( "hello")); // set expation time jedis.setex( "hello2"、2、 "world2"); system.out.println(jedis.get( "hello2")); try {thread.sleep(3000);} catch(curtrededexception e) {e.printstacktrace();} system.out.println(jedis.get( "hello2")); // jedis.mset.mset( "a"、 "1"、 "b"、 "2") jedis.delのバッチ削除( "a"、 "b"); system.out.println(jedis.exists( "a")); system.out.println(jedis.exists( "b"));}4。データ型をリストします
Redisのリストは、基礎となる実装の配列ではなく、リンクされたリストです。
一連の操作:rpush、lpush、llen、lrange、lpop、rpop。
LPUSHを使用してリストの左側に新しい要素を挿入し、rpushを使用してリストの右側に新しい要素を挿入し、Lrangeコマンドを使用してリストから要素を抽出する範囲を指定します。
// mylistという新しいリストを作成し、要素「1」127.0.0.1:6379> lpush mylist "1"を挿入します//現在のmylist(整数)の要素の数を返します。 lpush mylist "0"(integer)3 //マイリスト127.0.0.1:6379> lrange mylist 0 11) "0" 2)1 "//マイリストの最初の要素を番号0から最後の127.0.0.1:6379
Java操作コードは次のとおりです。
public void listtest(){string key = "mylist"; jedis.del(key); //前の1つを削除します// queue jedis.rpush(key、 "aaaa"); jedis.rpush(key、 "bbbb"); jedis.rpush(key);長さsystem.out.println( "lenth:" + jedis.llen(key)); // index 0から最初の(すべての要素)system.out.println( " + jedis.lrange(key、0、-1)); // element with index 1 system.out.out.out.out.out(1);キュー内の要素の値と、インデックスが範囲を超えるとエラーが返されます。 jedis.lset(key、1、 "aa22"); system.out.println( "index of 1:" + jedis.lindex(key、1)); // emqueue emqueue emqueue emqueue 「-1」); system.out.println(jedis.rpop(key)); // dequeuesキューsystem.out.println(jedis.lpop(key))); system.out.println( "すべての要素:" + jedis.lrange(key、0、-1)); // count> 0:最初から最後まで値を持つ要素を削除し、カウントは削除の数です。 // count <0:端から頭までの値で要素を削除すると、削除された数がカウントされます。 // count = 0:すべての要素を値で削除します。 jedis.lrem(key、1、 "cccc"); system.out.println( "all elements:" + jedis.lrange(key、0、-1)); //つまり、右端の要素も含まれます。スタートがリストのテールサブスクリプトよりも大きい場合、空のリストが返されます。 //ストップがリストの実際のテールよりも大きい場合、Redisはそれを最後の要素の添え字として扱います。 System.out.println(jedis.lrange(key, 0, 2));System.out.println("all elements: " + jedis.lrange(key, 0, -1));// Delete elements outside the interval System.out.println(jedis.ltrim(key, 0, 2));System.out.println("all elements: " + jedis.lrange(key, 0, -1));}5.タイプを設定します
Redisのセットは順序付けられていないセットであり、セットの要素には順序がありません。
一連の作戦:Sadd、Srem、Sismember、Smembers、Sunion。
セット関連操作は、新しい要素の追加、既存の要素の削除、交差点の取得、組合の取得、差別セットなどなど、豊富です。
//コレクションに新しい要素をコレクションに追加します "One" 127.0.0.1:63799> SADD Myset "One"(整数)1127.0.0.1:6379> Sadd Myset "Two"(integer)1 //コレクションのすべての要素をクリックします127.0.0.0.コレクションのマイセット、リターン1は存在する127.0.0.1:63799>シスミスムマイセット「1つ」(整数)1 //要素3がコレクションマイセットにあるかどうか127.0.0.0.1:63799>存在しない127.0.0.1:6379> "1"(整数)1127.0.0.1:6379> sadd yourset "2"(整数)1127.0.0.1:6379> smembers yourset1) "1" 2)2 "//
Java操作コード:
public void settest(){//データSystem.out.println(jedis.flushdb()); string key = "myset1"; string key2 = "myset2"; //コレクションに要素を追加するjedis.sadd(key、 "aaa"、 "bbb"、 "ccc" "ddd"); //コレクションSystem.out.println(jedis.scard(key)); //セットの数値数を取得します// 2つのセットの交差点を取得し、jedis.sinterstore( "destioning"、key、key2);キーの結果に保存してくださいjedis.sunionstore( "destination"、key、key2); system.out.println(jedis.smembers( "destination")); key2); system.out.println(jedis.smembers( "destination")); //要素はコレクションSystem.out.println(jedis.sismember(key、 "aaa")); jedis.smove(key、key2、 "aaa"); system.out.println(jedis.smembers(key)); // element system.out.println(jedis.smembers(key2)); jedis.srem(key2、 "ccc"、 "ddd"); system.out.println(jedis.smembers(key2));}6。ソートされたセットタイプ
私たちは皆、Redis Zsetsで注文されたセットを呼び出します
//注文されたセットmyzsetを追加して要素baidu.comを追加し、それに与えられたシーケンス番号は1127.0.0.1:6379> zadd myzset 1 baidu.com(integer)1 // myzsetに要素360.comを追加します。 Google.comからmyzset、およびそれに与えられるシーケンス番号は2127.0.0.1:6379> ZADD Myzset 2 Google.com(整数)1 // Myzsetのすべての要素を追加し、同時にシーケンス番号をリストすると、Myzsetが既に注文されていることがわかります。 127.0.0.1:6379>スコア付きZrange Myzset 0 -1) "Baidu.com" 2) "1" 3) "Google.com" 4) "2" 2 "5)" 360.com "6)" 3 "// myzset127.0.0.1:6379> zrange 0 -10" 3)
Java操作コードは次のとおりです。
public void zsettest(){// clear data system.out.println(jedis.flushdb()); string key = "mysortset"; map <string、double = ""> scorembers = new hashmap <>(); scoremembers.put( "aaa"、1001.0); 1002.0);scoreMembers.put("ccc", 1003.0);// Add data jedis.zadd(key, 1004.0, "ddd");jedis.zadd(key, scoreMembers);// Get the number of members in a sorted set System.out.println(jedis.zcard(key));// The ordered set of members returned in the specified range, with 0注文されたセットの最初のメンバーを示し、1は順序付けられたセットの2番目のメンバーを示します。 //最後のメンバーを表す-1のネガティブサブスクリプト、2番目のメンバーセット<string> coll = jedis.zrange(key、0、-1); out.println(coll); //指定された範囲coll = jedis.zrevrange(key、0、colln(coll); System.out.println(jedis.zscore(key、 "bbb")); //要素system.out.println(jedis.zrem(key、 "aaa")); system.out.println(jedis.zrange(key、0、-1)); 1002.0、1003.0));}7。ハッシュタイプ
ハッシュは、文字列と文字列値の間のマッピングを保存します
//ハッシュを作成し、127.0.0.1:6379の値を割り当てます> HMSETユーザー:001ユーザー名Antirez Password P1PP0 Age 34ok // Hash127.0.0.1:6379> Hgetallユーザー:0011)のコンテンツをリストします。 "34" // Hash127.0.0.1:6379の値を変更します> Hsetユーザー:001パスワード12345(整数)0 // Hash127.0.0.1:6379> Hgetallユーザー:0011)のコンテンツをリストします。
Java操作コード:
public void hashtest(){// clear data system.out.println(jedis.flushdb()); string key = "myhash"; map <string、string = ""> hash = new hashmap <>(); hash.put( "aaa"、 "11"); hash.put( "bbb"、 "22"); hash.put( data jedis.hmset(key、hash); jedis.hset(key、 "ddd"、 "44"); //ハッシュのすべての要素(key値)system.out.println(jedis.hkeys(key)); System.out.println(jedis.hlen(key)); //すべてのフィールドと値をハッシュで取得し、マップ<string、string = ""> elemention = jedis.hgetall(key); system.out.println(要素);ハッシュSystem.out.println(jedis.hmget(key、 "aaa"、 "bbb")); //指定された値system.out.println(jedis.hget(key、 "aaa")); //指定された値system.out.out.print.hdel(jedis.hdel(jedis.hdel); System.out.println(jedis.hgetall(key)); //キープラス増分システムのフィールドフィールドです。8。トランザクション
トランザクションとは、「完全なアクション、すべてを実行するか、何も実行しない」を指します。
Redisトランザクションについて話す前に、最初に4つのRedisの指示、つまりMulti、Exec、Dosdard、およびWatchを紹介します。これらの4つの命令は、Redisトランザクション処理の基礎を形成します。
1.Multiは、トランザクションの組み立てに使用されます。
2.EXECは、トランザクションの実行に使用されます。
3.廃棄は、トランザクションをキャンセルするために使用されます。
4.ウォッチは、いくつかのキーを監視するために使用されます。トランザクションが実行される前にこれらのキーが変更されると、トランザクションの実行がキャンセルされます。
redis> multi //タグトランザクションスタートOkredis> incred user_id //複数のコマンドがシーケンスでキューにキューに入っています
Java操作コードは次のとおりです。
public void transactionTest(){transaction t = jedis.multi(); // transaction t.set( "hello"、 "world"); response <string> response = t.get( "hello"); t.zadd( "foo"、1、 "barowitch"); t.zadd( "foo"、 "")、 "、" "); t.zdd( "barikoviev"); response <set <string >> sose = t.zrange( "foo"、0、-1); //すべての対応したsystem.out.out.println(response); system.out.println(sose); t.exec(); //このラインは、string faulbar = responsed.int.// fawsget(); = sose.get()。size(); // sose.get()system.out.println(faulbar); system.out.println(sose.get()); system.out.println( "コレクションのサイズは" + sosesize);}パイプライン操作Javaコード:
public void transactionPipelinetest(){pipeline p = jedis.pipelined(); // pipeline p.set( "fool"、 "bar"); p.zadd( "foo"、1、 "barowitch") = p.get( "fool"); response <set <string >> sose = p.zrange( "foo"、0、-1); system.out.println(pipestring); system.out.println(sose); p.sync(); // submit System.out.println( "========================================= setback = sose.get(); system.out.println(sosesize); system.out.println(setback); system.out.println(pipestring.get());}要約します
上記は、この記事のJava Operation Redisのすべての詳細な紹介です。誰にとっても役立つことを願っています。欠点がある場合は、それを指摘するためにメッセージを残してください。このサイトへのご支援をありがとうございました。