Redis ist ein leistungsstarkes Schlüsselwertspeichersystem, und Jedis ist der Java-Client von Redis, der Java-Entwicklern eine praktische Bedienoberfläche bietet. In diesem Blog werfen wir einen detaillierten Blick darauf, wie Jedis die Datenstrukturen Set und SortedSet in Redis verwaltet. Egal, ob Sie Anfänger oder erfahrener Entwickler sind, dieser Artikel wird Ihnen in freundlicher Sprache und leicht verständlicher Weise präsentiert.
Erfahren Sie mehr über Redis Set
In Redis ist Set eine ungeordnete, sich nicht wiederholende Datenstruktur, die einer Menge in Java ähnelt. Set ist eine praktische Möglichkeit, einen eindeutigen Satz von Elementen zu speichern. Beginnen wir also mit der Erkundung, wie man Jedis zur Steuerung von Sets nutzt.
Jedis-Operationsset
1. Jedis-Abhängigkeiten einführen
Stellen Sie zunächst sicher, dass Sie die Jedis-Abhängigkeit in Ihr Projekt eingeführt haben. Sie können den Dateien in Ihrem Maven-Projekt die folgenden Abhängigkeiten hinzufügen pom.xml
:
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.7.0</version>
</dependency>
2. Stellen Sie eine Verbindung zum Redis-Server her
Bevor wir Jedis zum Betrieb von Redis verwenden, müssen wir zunächst eine Verbindung zum Redis-Server herstellen. Hier ist ein einfaches Verbindungsbeispiel:
import redis.clients.jedis.Jedis;
public class JedisSetExample {
public static void main(String[] args) {
// 连接到本地的 Redis 服务器
Jedis jedis = new Jedis("localhost", 6379);
System.out.println("连接成功");
// 查看服务是否运行
System.out.println("服务正在运行: " + jedis.ping());
// 关闭连接
jedis.close();
}
}
Dieser Code erstellt zunächst ein Jedis-Objekt und stellt über den angegebenen Host und Port eine Verbindung zum Redis-Server her. Anschließend ping()
prüft es durch den Aufruf der Methode, ob der Server ordnungsgemäß funktioniert. In tatsächlichen Anwendungen benötigen Sie möglicherweise komplexere Verbindungskonfigurationen, wie z. B. Passwortauthentifizierung usw.
3. Elemente zum Set hinzufügen
Jetzt lernen wir, wie man Elemente zu einem Redis-Set hinzufügt. Hier ist ein einfaches Beispiel:
import redis.clients.jedis.Jedis;
public class JedisSetExample {
public static void main(String[] args) {
Jedis jedis = new Jedis("localhost", 6379);
// 向名为 myset 的 Set 中添加元素
jedis.sadd("myset", "element1", "element2", "element3");
// 获取 Set 中的所有元素
System.out.println("Set 中的所有元素: " + jedis.smembers("myset"));
jedis.close();
}
}
In diesem Beispiel verwenden wir sadd()
die Methode myset
, um drei Elemente zu einem Set mit dem Namen hinzuzufügen. Verwenden Sie dann smembers()
die Methode, um alle Elemente im Set abzurufen und auszudrucken.
4. Elemente aus Set entfernen
Manchmal müssen wir ein Element aus einer Menge entfernen. Hier ist ein einfaches Beispiel:
import redis.clients.jedis.Jedis;
public class JedisSetExample {
public static void main(String[] args) {
Jedis jedis = new Jedis("localhost", 6379);
// 从 myset 中移除元素
jedis.srem("myset", "element2");
// 获取更新后的 Set 中的所有元素
System.out.println("更新后的 Set 中的所有元素: " + jedis.smembers("myset"));
jedis.close();
}
}
Durch den Aufruf srem()
der Methode myset
entfernen wir ein Element aus der Menge mit dem Namen . Verwenden Sie dann smembers()
die Methode, um alle Elemente im aktualisierten Set abzurufen und auszudrucken.
5. Bestimmen Sie, ob das Element im Set vorhanden ist
Manchmal müssen wir prüfen, ob ein Element im Set vorhanden ist. Hier ist ein einfaches Beispiel:
import redis.clients.jedis.Jedis;
public class JedisSetExample {
public static void main(String[] args) {
Jedis jedis = new Jedis("localhost", 6379);
// 判断元素是否存在于 myset 中
boolean exists = jedis.sismember("myset", "element1");
System.out.println("元素是否存在于 myset 中: " + exists);
jedis.close();
}
}
In diesem Beispiel verwenden wir sismember()
die Methode, um zu prüfen element1
, ob das Element im Set vorhanden ist, myset
und um das Ergebnis auszugeben.
SortedSet sortierte Menge
Zusätzlich zu Set bietet Redis auch eine geordnete Mengendatenstruktur, SortedSet. Jedem Element in einem SortedSet ist eine Punktzahl zugeordnet, durch die die Reihenfolge der Menge erreicht werden kann. Sehen wir uns als Nächstes an, wie man mit Jedis ein SortedSet betreibt.
1. Fügen Sie Elemente zu SortedSet hinzu
Die Methode zum Hinzufügen von Elementen zu einem SortedSet ähnelt der eines Sets, mit der Ausnahme, dass Sie die Bewertung jedes Elements angeben müssen. Hier ist ein einfaches Beispiel:
import redis.clients.jedis.Jedis;
public class JedisSortedSetExample {
public static void main(String[] args) {
Jedis jedis = new Jedis("localhost", 6379);
// 向名为 mysortedset 的 SortedSet 中添加元素
jedis.zadd("mysortedset", 1.0, "element1");
jedis.zadd("mysortedset", 2.0, "element2");
jedis.zadd("mysortedset", 3.0, "element3");
// 获取 SortedSet 中的所有元素和分数
System.out.println("SortedSet 中的所有元素和分数: " + jedis.zrangeWithScores("mysortedset", 0, -1));
jedis.close();
}
}
In diesem Beispiel verwenden wir zadd()
die Methode mysortedset
, um drei Elemente zu einem SortedSet mit dem Namen hinzuzufügen und ihre Bewertungen anzugeben. Erhalten Sie dann zrangeWithScores()
über die Methode alle Elemente und entsprechenden Bewertungen im SortedSet.
2. Elemente aus SortedSet entfernen
Das Entfernen von Elementen aus einem SortedSet ähnelt dem Entfernen von Elementen aus einem Set. Hier ist ein Beispiel:
import redis.clients.jedis.Jedis;
public class JedisSortedSetExample {
public static void main(String[] args) {
Jedis jedis = new Jedis("localhost", 6379);
// 从 mysortedset 中移除元素
jedis.zrem("mysortedset", "element2");
// 获取更新后的 SortedSet 中的所有元素和分数
System.out.println("更新后的 SortedSet 中的所有元素和分数: " + jedis.zrangeWithScores("mysortedset", 0, -1));
jedis.close();
}
}
Durch den Aufruf zrem()
der Methode mysortedset
entfernen wir ein Element aus dem SortedSet mit dem Namen . Verwenden Sie dann zrangeWithScores()
die Methode, um alle Elemente und Bewertungen im aktualisierten SortedSet abzurufen und auszudrucken.
3. Elemente in einem angegebenen Bereich abrufen
SortedSet bietet Methoden zum Abrufen von Elementen innerhalb eines angegebenen Bereichs. Hier ist ein Beispiel:
import redis.clients.jedis.Jedis;
import redis.clients.jedis.Tuple;
import java.util.Set;
public class JedisSortedSetExample {
public static void main(String[] args) {
Jedis jedis = new Jedis("localhost", 6379);
// 获取分数在 1.0 到 2.0 之间的元素
Set<Tuple> elementsInRange = jedis.zrangeByScoreWithScores("mysortedset", 1.0, 2.0);
// 打印获取到的元素和分数
for (Tuple tuple : elementsInRange) {
System.out.println("元素: " + tuple.getElement() + ", 分数: " + tuple.getScore());
}
jedis.close();
}
}
In diesem Beispiel verwenden wir zrangeByScoreWithScores()
die Methode, um die Elemente mit Bewertungen zwischen 1,0 und 2,0 abzurufen, und Tuple
drucken die Elemente und Bewertungen aus, indem wir über das Objekt iterieren.
Zusammenfassen
Durch das Studium dieses Artikels sollten Sie bereits über ein gewisses Verständnis für die Verwendung von Jedis zum Betrieb von Set und SortedSet in Redis verfügen. Wir hoffen, Ihnen durch einfache und leicht verständliche Codebeispiele und detaillierte Erklärungen dabei zu helfen, diese beiden häufig verwendeten Datenstrukturen besser zu verstehen und anzuwenden.
Ob im Entwicklungs- oder Lernprozess, die Beherrschung der Jedis-Operationen Set und SortedSet ist entscheidend für die Erstellung effizienter und skalierbarer Anwendungen. Ich hoffe, dass Sie dieses Wissen flexibel in konkreten Projekten einsetzen können, um Ihre Entwicklungsfähigkeiten zu verbessern.
Viel Spaß beim Codieren!
Informationen zum Autor Autor: Fanyi CSDN: https://techfanyi.blog.csdn.net Nuggets: https://juejin.cn/user/4154386571867191 |