Wie integriert Springboot Redis, um Partitionen zu ändern?
Springboot integriert Redis, um Partitionen zu ändern
Der Ursprung des Problems
In letzter Zeit wird Springboot verwendet, um Redis zu integrieren. Eine dynamische Datenquelle des Systems stellt eine Verbindung zu verschiedenen Datenbanken her und speichert die verwendeten Redis zwischen in verschiedenen Redis-Partitionen, also unterschiedlich in der Bibliothek.
Alte Versionslösung
Die alte Version hier bezieht sich auf die Version vor 2.0. Die 1.5.9, die ich verwendet habe, ist in Ordnung.
Die Konfigurationsklasse von Redis wird hier nicht veröffentlicht, es gibt viele davon online.
1. Verwenden Sie JedisConnectionFactory, um
@Autowired JedisConnectionFactory jedisConnectionFactory; jedisConnectionFactory.setDatabase(database);
2 zu ändern. Verwenden Sie redisTemplate, um
redisTemplate.getConnectionFactory().getConnection().select(database);
Die beiden oben genannten Methoden müssen der Redis-Konfigurationsklasse nicht speziell hinzugefügt werden bezieht sich hier auf nach 2.0 Ja, ich verwende 2.0.3
Die folgenden Beans müssen zur Redis-Konfigurationsklasse hinzugefügt werden:
Partitionierung ist die Art und Weise, wie Sie die Daten auf mehrere Redis-Instanzen verteilen, sodass jede Instanz nur einen Teil der Daten enthält. Warum Partitionierung nützlich istRedis-Partitionierung hat zwei Hauptziele: Sie ermöglicht größere Datenbanken und nutzt den kombinierten Speicher vieler Computer. Ohne Partitionierung sind Sie auf den Speicher eines einzelnen Computers beschränkt. Es ermöglicht die Erweiterung der Rechenleistung auf mehrere Kerne und mehrere Computer sowie die Erweiterung der Netzwerkbandbreite auf mehrere Computer und Netzwerkadapter. Angenommen, wir haben 4 Redis-Instanzen (R0, R1, R2, R3) mit vielen Schlüsseln, die Benutzer darstellen, z. B. Benutzer: 1, Benutzer: 2 usw., dann gibt es beim Speichern eines Schlüssels viele Möglichkeiten, wie wir dies tun können.- Der einfachste Weg ist die Partitionierung nach Bereich, d. h. die Zuweisung von Daten zur angegebenen Redis-Instanz entsprechend dem Zuordnungsbereich des Objekts. Beispielsweise legen wir fest, dass diejenigen mit IDs von 0 bis 10000 R0, 10001 bis 20000 R1 usw. zugewiesen werden. Diese Methode ist möglich, aber ein Nachteil besteht darin, dass eine Tabelle benötigt wird, um diese Zuordnungsbeziehung aufrechtzuerhalten. Diese Tabelle muss verwaltet werden, und jeder Schlüssel erfordert eine solche Tabelle. Daher ist die Bereichspartitionierung in Redis im Allgemeinen verpönt, da sie viel weniger effizient ist als andere Partitionierungsmethoden. Zusätzlich zur Bereichspartitionierung gibt es eine weitere Methode, die Hash-Partitionierung:
- Schritt 1. Nehmen Sie den Schlüssel und wenden Sie eine Hash-Funktion an, um ihn in eine Zahl umzuwandeln. Wenn der Schlüssel beispielsweise foobar ist und die Hash-Funktion crc32 ist, dann gibt crc32(foobar) 93024922 aus. Schritt 2. Verwenden Sie Modulo-Arithmetik (Modulo) für diese Zahl, um sie in eine direkte Zahl von 0 bis 3 umzuwandeln, sodass diese Zahl einer meiner vier Redis-Instanzen zugeordnet werden kann. Beispiel: 93024922 % 4 = 2, daher sollte foobar auf der R2-Instanz gespeichert werden.
Wenn Sie Redis als Cache verwenden, ist die Skalierung durch konsistentes Hashing einfach.
Wenn Redis als Speicher verwendet wird, wird eine feste Schlüssel-zu-Knoten-Zuordnung verwendet, sodass die Anzahl der Knoten festgelegt sein muss und nicht geändert werden kann. Redis Cluster ist ein praktikables System, wenn Schlüssel zwischen Knoten neu verteilt werden müssen.
Das obige ist der detaillierte Inhalt vonWie integriert Springboot Redis, um Partitionen zu ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Der Redis -Cluster -Modus bietet Redis -Instanzen durch Sharding, die Skalierbarkeit und Verfügbarkeit verbessert. Die Bauschritte sind wie folgt: Erstellen Sie ungerade Redis -Instanzen mit verschiedenen Ports; Erstellen Sie 3 Sentinel -Instanzen, Monitor -Redis -Instanzen und Failover; Konfigurieren von Sentinel -Konfigurationsdateien, Informationen zur Überwachung von Redis -Instanzinformationen und Failover -Einstellungen hinzufügen. Konfigurieren von Redis -Instanzkonfigurationsdateien, aktivieren Sie den Cluster -Modus und geben Sie den Cluster -Informationsdateipfad an. Erstellen Sie die Datei nodes.conf, die Informationen zu jeder Redis -Instanz enthält. Starten Sie den Cluster, führen Sie den Befehl erstellen aus, um einen Cluster zu erstellen und die Anzahl der Replikate anzugeben. Melden Sie sich im Cluster an, um den Befehl cluster info auszuführen, um den Clusterstatus zu überprüfen. machen

Die Verwendung der REDIS -Anweisung erfordert die folgenden Schritte: Öffnen Sie den Redis -Client. Geben Sie den Befehl ein (Verbschlüsselwert). Bietet die erforderlichen Parameter (variiert von der Anweisung bis zur Anweisung). Drücken Sie die Eingabetaste, um den Befehl auszuführen. Redis gibt eine Antwort zurück, die das Ergebnis der Operation anzeigt (normalerweise in Ordnung oder -err).

Um alle Schlüssel in Redis anzuzeigen, gibt es drei Möglichkeiten: Verwenden Sie den Befehl keys, um alle Schlüssel zurückzugeben, die dem angegebenen Muster übereinstimmen. Verwenden Sie den Befehl scan, um über die Schlüssel zu iterieren und eine Reihe von Schlüssel zurückzugeben. Verwenden Sie den Befehl Info, um die Gesamtzahl der Schlüssel zu erhalten.

Redis verwendet eine einzelne Gewindearchitektur, um hohe Leistung, Einfachheit und Konsistenz zu bieten. Es wird E/A-Multiplexing, Ereignisschleifen, nicht blockierende E/A und gemeinsame Speicher verwendet, um die Parallelität zu verbessern, jedoch mit Einschränkungen von Gleichzeitbeschränkungen, einem einzelnen Ausfallpunkt und ungeeigneter Schreib-intensiver Workloads.

Zu den Schritten zum Starten eines Redis -Servers gehören: Installieren von Redis gemäß dem Betriebssystem. Starten Sie den Redis-Dienst über Redis-Server (Linux/macOS) oder redis-server.exe (Windows). Verwenden Sie den Befehl redis-cli ping (linux/macOS) oder redis-cli.exe ping (Windows), um den Dienststatus zu überprüfen. Verwenden Sie einen Redis-Client wie Redis-Cli, Python oder Node.js, um auf den Server zuzugreifen.

Um die Operationen zu sperren, muss die Sperre durch den Befehl setNX erfasst werden und dann den Befehl Ablauf verwenden, um die Ablaufzeit festzulegen. Die spezifischen Schritte sind: (1) Verwenden Sie den Befehl setNX, um zu versuchen, ein Schlüsselwertpaar festzulegen; (2) Verwenden Sie den Befehl Ablauf, um die Ablaufzeit für die Sperre festzulegen. (3) Verwenden Sie den Befehl Del, um die Sperre zu löschen, wenn die Sperre nicht mehr benötigt wird.

So löschen Sie Redis -Daten: Verwenden Sie den Befehl Flushall, um alle Schlüsselwerte zu löschen. Verwenden Sie den Befehl flushdb, um den Schlüsselwert der aktuell ausgewählten Datenbank zu löschen. Verwenden Sie SELECT, um Datenbanken zu wechseln, und löschen Sie dann FlushDB, um mehrere Datenbanken zu löschen. Verwenden Sie den Befehl del, um einen bestimmten Schlüssel zu löschen. Verwenden Sie das Redis-Cli-Tool, um die Daten zu löschen.

Schritte zur Lösung des Problems, das Redis-Server nicht finden kann: Überprüfen Sie die Installation, um sicherzustellen, dass Redis korrekt installiert ist. Setzen Sie die Umgebungsvariablen Redis_host und Redis_port; Starten Sie den Redis-Server Redis-Server; Überprüfen Sie, ob der Server Redis-Cli Ping ausführt.
