[Java Advanced] Detaillierte Erläuterung der Jedis-Operationen Set und SortedSet

Fügen Sie hier eine Bildbeschreibung ein

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 mysetentfernen 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, mysetund 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 mysortedsetentfernen 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 Tupledrucken 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

Supongo que te gusta

Origin blog.csdn.net/qq_21484461/article/details/135232805
Recomendado
Clasificación