1. Einführung
Redis ist ein Open Source (BSD-lizenziert) im Memory-Schlüsselwertspeichersystem, das als Datenbank, Cache und Message Middleware verwendet werden kann.
2. Betrieb auf Key
Zuerst müssen Sie eine Verbindung herstellen. Jedis Jedis = New Jedis ("127.0.0.1", 6379), und dann können Sie String, Set, Zset und Hash bedienen.
// Test auf dem Schlüssel public void keyTest () {System.out.println (jedis.flushdb ()); // Data system.out.println (jedis.echo ("hello"); // drucken Sie HelloSystem.out.out.println (jedis.exists ("foo"). "values1"); jedis.set ("key2", "values2"); System.out.println (jedis.exists ("key1")); // beurteilen, ob der Schlüssel mit String randomkey = jedis.randomkey (); // einen zufälligen Schlüsselsystem auswählen.Out.Out.println ("RandomKey's Name ist:" + Randomkey); System.out.println (jedis.pttl ("key1")); // Überlebenszeit // Entfernen der Taste -Ablaufzeit Jedis.Persist ("KEY1"); // Erhalten Sie den Typ des Schlüssels "String", "List", "Set" "Keine" Keine "Keine"), dass der Schlüssel nicht existiert. Key // Exportieren Sie den Wert des Schlüssels -String -Wertes = jedis.get ("key1"); Schlüssel * Übereinstimmen alle Schlüssel in der Datenbank. // Keys H? // Spezielle Symbole werden durch /getrennt. Set <string> set = jedis.keys ("k*"); // Erhalten Sie alle relevanten Schlüsselschlüsselmethoden System.out.println (set); jedis.del ("key1"); // Löschen Sie das Schlüssel -Del -Methode -System.3. String -Datentyp
Setzen Sie Mystr "Hallo Welt!" // String -Typ Setzen Sie MyStr // Lesen Sie den String -Typ, um numerische Operationen auf der Zeichenfolge 127.0.0.1:6379 auszuführen.
Der Java -Betriebscode lautet:
// Test auf String Operation public void Stringest () {jedis.set ("hello", "hello"); // setSystem.out.println (jedis.get ("Hallo"); // Get // append adds add jedis.append adds.append ("hello"). Jedis.set ("Hallo", "123"); System.out.println (jedis.get ("Hallo"); // Setzen Sie die Ablaufzeit jedis.setex ("Hallo2", 2, "World2"); {e.printstacktrace ();} System.out.println (jedis.get ("hello2"); // Fügen Sie mehrere Schlüsselwertepaare hinzu. Batch -Löschung von jedis.del ("a", "b"); System.out.println (jedis.exists ("a"));4. Listendatentyp
Listen in Redis sind keine Arrays in der zugrunde liegenden Implementierung, sondern verknüpfte Listen.
Eine Reihe von Operationen: RPUSH, LPUSH, LLEN, LRANGE, LPOP und RPOP.
Wir können LPush verwenden, um ein neues Element auf der linken Seite der Listen einzulegen, RPUSH ein neues Element auf der rechten Seite der Listen einfügen und den Befehl lRange verwenden, um einen Bereich von Listen zum Extrahieren von Elementen anzugeben.
// Erstellen Sie eine neue Liste namens MyList und fügen Sie Element "1" 127.0.0.1:6379> Lpush MyList "1" // die Anzahl der Elemente in der aktuellen MyList (Ganzzahl) 1 // Element "2" 2 "127.0.0.0.1:6379> rpush mylist" 2 "2" 2 // Inise Element "0," 127.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. "0" (Ganzzahl) 3 // Listenelemente von Nummer 0 bis Nummer 1 in MyList 127.0.0.1:6379> lRange mylist 0 11) "0" 2) "1" // Listen Sie das erste Element in Mylist von Nummer 0 bis zum letzten 127.0.0.1:6379> lrange mylist 0 -11) "0" 1 "1" 1 "2" 2 "2" 2 "2" 2 "
Der Java -Betriebscode lautet:
public void listest () {String key = "myList"; jedis.del (key); // Löschen Sie das vorherige // Element der Warteschlange Jedis.rpush (Schlüssel "AAAAA"); jedis.rpush (key, "bbbb"); Länge system.out.println ("lenth:" + jedis.llen (key)); // Drucken der Warteschlange von Index 0, bis zum ersten (alle Elemente) system.out.println ("Alle Elemente:" + jedis.lrange (Schlüssel, 0, -1); // Element mit Index 1 System.Out.Out.OUT.Println ("Index (Index). 1)); // Legen Sie den Wert eines Elements in der Warteschlange fest, und ein Fehler wird zurückgegeben, wenn der Index den Bereich überschreitet. jedis.lset (key, 1, "aa22"); "-1"); // Enqueue ein Element von der linken Seite der Warteschlange jedis.rpush (Schlüssel, "zweites Element", "Erstes Element"); // Erstes Sekunde // Element, dann tritt zuerst das Elementf in das Warteschlangensystem ein. System.out.println (jedis.rpop (key)); // dequeueues ein Element von der linken Seite des Warteschlangensystems. System.out.println ("Alle Elemente:" + jedis.lrange (Schlüssel, 0, -1)); // count> 0: Entfernt ein Element mit einem Wert vom Anfang bis zum Ende, und die Anzahl ist die Anzahl der entfernt. // Zählen Sie <0: Entfernen Sie das Element mit einem Wert vom Ende zum Kopf, und zählen Sie die Anzahl der entfernt. // count = 0: Entfernt alle Elemente mit Wert. jedis.lrem (key, 1, "cccc"); Wenn der Start größer als der Tail -Index der Liste ist, wird eine leere Liste zurückgegeben. // Wenn der Stopp größer als der tatsächliche Schwanz der Liste ist, behandelt Redis ihn als ein Index des letzten Elements. System.out.println (jedis.lrange (key, 0, 2)); jedis.lrange (Schlüssel, 0, -1));};5. Typ setzen
Der Satz von Redis ist ein ungeordneter Satz, und die Elemente im Set haben keine Bestellung.
Eine Reihe von Operationen: Sadd, Srem, Sismember, Smembers und Sunion.
SET-bezogene Operationen sind auch reichhaltig, z. B. das Hinzufügen neuer Elemente, das Löschen bestehender Elemente, das Erhalten von Kreuzungen, das Einnehmen von Gewerkschaft, das Erhalten von Differenzsätzen usw.
// Fügen Sie der Sammlung MySet "One" 127.0.0.1:6379> Sadd MySet "One" (Integer) 1127.0.0.1:6379> Sadd MySet "Two" (Ganzzahl) 1 // Klicken Sie in der Sammlung MySet127.0.0.0.0.1: 6379> Smemberer 1 "2). In der Sammlung mySet, return 1, gibt es 127.0.0.1:6379> Seismember MySet "One" (Ganzzahl) 1 // Begriff, ob Element 3 in der Sammlung MySet 0 ist, gibt es nicht 127.0.0.0.1:6379> Seismus MySet "Three" (Integer) 0 // //. "1"(integer) 1127.0.0.1:6379> sadd yourset "2"(integer) 1127.0.0.1:6379> smembers yourset1) "1"2) "2"//Create a union of two sets127.0.0.1:6379> sunion myset yourset 1) "1"2) "one"3) "2"4) "two"
Java -Betriebscode:
public void dichst () {// das Datensystem löschen. "ddd"); // Erhalten Sie die Anzahl der Elemente im Sammelsystem.out.println (jedis.scard (key)); // Die Anzahl der Anzahl des Satzes // den Schnittpunkt von zwei Sätzen erhalten und in einem Schlüsselergebnis speichern. store it in a key result set jedis.sunionstore("destination", key, key2);System.out.println(jedis.smembers("destination"));// In the key1 set, the key2 set does not have elements and stores them in a key result set jedis.sdiffstore("destination", key, key2); Jedis.smove (key, key2, "aaa"); Jedis.srem (key2, "ccc", "ddd"); System.out.println (jedis.smembers (key2));}6. Sortierte Sets Type
Wir alle nennen den bestellten Set in Redis Zsets
// Fügen Sie ein bestelltes Set myzset hinzu und fügen Sie ein Element Baidu.com hinzu. Google.com für Myzset, und die damit angegebene Sequenznummer ist 2127.0.0.1:6379> Zadd Myzset 2 Google.com (Ganzzahl) 1 // Fügen Sie alle Elemente von myzset hinzu und listen ihre Sequenznummer gleichzeitig auf, Sie können feststellen, dass Myzset bereits bestellt wurde. 127.0.0.1:6379> zrange myzset 0 -1 with scores 1) "baidu.com"2) "1"3) "google.com"4) "2"5) "360.com"6) "3"//Only list the elements of myzset127.0.0.1:6379> zrange myzset 0 -11) "baidu.com"2) "google.com"3) "360.com"
Der Java -Betriebscode lautet:
public void zsetTest() {// Clear data System.out.println(jedis.flushDB());String key = "mysortset";Map<string, double=""> scoreMembers = new HashMap<>();scoreMembers.put("aaa", 1001.0);scoreMembers.put("bbb", 1002.0); scoremembers.put ("CCC", 1003.0); // Data Jedis.zadd (Schlüssel, 1004.0, "DDD"); jedis.zadd (Schlüssel, Scoremembers); // die Anzahl der Mitglieder in einem sortierten Set -System erhalten. Das erste Mitglied des bestellten Satzes, wobei 1 das zweite Mitglied des bestellten Sets angibt, usw. // Negativer Index, wobei -1 das letzte Mitglied darstellt, das zweite bis zuletzt -Mitglied set <string> coll = jedis.zrange (Schlüssel, 0, -1); System.out.println (Coll); // gibt den umgekehrten Reihenfolge -Satz von Mitgliedern innerhalb des angegebenen Bereichs Coll = Jedis.zrevrange (Schlüssel, 0, -1); System.out.println (jedis.zscore (key, "bbb"); // das element system.out.println (jedis.zrem (key, "aaa"); System.out.println (Jedis.zrange (Schlüssel, 0, -1)); 1002.0, 1003.0));}7. Hash -Typ
Hashes speichert die Zuordnung zwischen String- und String -Wert
//Create a hash and assign a value of 127.0.0.1:6379> HMSET user:001 username antirez password P1pp0 age 34OK//List the content of the hash127.0.0.1:6379> HGETALL user:0011) "username"2) "antirez"3) "password"4) "P1pp0"5) "age"6) "34" // einen Wert im Hash127.0.0.1: 6379> Hset -Benutzer: 001 Kennwort 12345 (Ganzzahl) 0 // Listen Sie den Inhalt des Hash127.0.0.1: 6379> HGetall -Benutzer: 0011) "userername" 2) "3)" 3) "Passwort" 4 ") auf" 12345 ".
Java -Betriebscode:
public void hashtest () {// data System.out.println (jedis.flushdb ()); String key = "myhash"; map <string, string = ""> Hash = new Hashmap <> (); Hash.put ("AAA", "11"); Data Jedis.HMSET (Schlüssel, Hash); Jedis.hset (Schlüssel, "DDD", "44"); // Alle Elemente von Hash (Schlüsselwerte) system.out.println (jedis.hkeys (key)); // Erhalten Sie den Wert. System.out.println (jedis.Hlen (key)); // Alle Felder und Werte in Hash und zurückholen. Wert, der dem angegebenen Feld im Hash -System entspricht. System.out.println (jedis.hgetall (key)); // ist das Feld im Schlüssel plus IncrementSystem.out.println (jedis.hincrby (Schlüssel, "BBB", 100)); System.out.println (jedis.hgetall);8. Transaktionen
Eine Transaktion bezieht sich auf "eine vollständige Aktion, die entweder alles ausgeführt oder nichts getan hat".
Bevor wir über Redis -Transaktionen sprechen, werden wir zunächst vier Redis -Anweisungen einführen, nämlich Multi, Exec, Defard und Watch. Diese vier Anweisungen bilden die Grundlage für die Redis -Transaktionsverarbeitung.
1. Multi wird verwendet, um eine Transaktion zusammenzustellen;
2.Exec wird verwendet, um eine Transaktion auszuführen;
3. Verabreichung wird verwendet, um eine Transaktion abzubrechen;
4.Watch wird verwendet, um einige Schlüssel zu überwachen. Sobald diese Schlüssel vor der Ausführung der Transaktion geändert werden, wird die Ausführung der Transaktion abgebrochen.
redis> multi // Tag -Tag Die Transaktion starten Okredis> Incher user_id // Mehrere Befehle werden in Sequence QueuedRedis> Incher user_idqueuedRedis in die Warteschlange gestellt.
Der Java -Betriebscode lautet:
public void transactionTest () {Transaktion t = jedis.multi (); // montieren eine Transaktion t.set ("Hallo", "Welt"); Antwort <string> response = t.get ("Hallo"); t.zadd ("foo", 1, "Barowitch"); "barikoviev"); Antwort <set <String >> Sose = T.Zrange ("foo", 0, -1); // Rücksende und return system.out.println (Antwort); System.out.println (Sose); Sose.get (). size (); // sose.get () system.out.println (foolbar);Pipeline -Operation Java -Code:
public void transactionpipelInetest () {Pipeline p = jedis.pipelined (); // eine Pipeline P.Set ("Fool", "Bar"); P.Zadd ("foo", 1, "Barowitch"); P.Zadd ("Foo", 0, Barkinky "; P.get ("Fool"); Antwort <set <String >> sose = p.zrange ("foo", 0, -1); system.out.println (pipestring); System.out.println ("=========================================== SYSTEM. setback = sose.get ();Zusammenfassen
Das obige ist die detaillierte Einführung von Java Operation Redis in diesem Artikel. Ich hoffe, es wird für alle hilfreich sein. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite.