Detaillierte Version des Redis7.0-Bereitstellungsclusters
Cluster-Architektur ist eine Möglichkeit, mehrere Computer über ein Netzwerk zu verbinden und eine einheitliche Verwaltungsmethode zu verwenden, um nach außen als ein einzelner Computer zu erscheinen, der Dienste bereitstellt
Die Rolle des Clusters:
Verteilen Sie den Zugriffsdruck eines einzelnen Servers, um einen Lastausgleich zu erreichen.
Verteilen Sie den Speicherdruck eines einzelnen Servers, um Skalierbarkeit zu erreichen. Interner Strukturentwurf des Redis-Clusters
Datenspeicherentwurf- Berechnen Sie durch Algorithmusentwurf den Ort, an dem der Schlüssel gespeichert werden soll
- Jede Datenbank kommuniziert miteinander und speichert die Nummerndaten des Steckplatzes in jeder Bibliothek
- Ein Treffer, direkt zurückgegeben
- Ein Fehlschlag, Geben Sie den spezifischen Standort an
槽
)
集群内部通讯设计
各个数据库相互通信,保存各个库中槽的编号数据
一次命中,直接返回
一次未命中,告知具体位置
2、cluster集群内部结构搭建
在虚拟机中启动多个窗口进行集群搭建演示
主要命令在
主命令操作客户端
执行
修改redis.conf
配置文件
添加如下内容
cluster-enabled yes # 启动为节点 cluster-config-file nodes-6379.conf # cluster配置文件名,该文件属于自动生成,仅用于快速查找文件并查询文件内容 cluster-node-timeout 10000 # 节点服务响应超时时间,用于判定该节点是否下线或切换为从节点 cluster-migration-barrier <count> # master连接的slave最小数量
快速复制5分配置文件并替换里面的端口
[root@localhost conf]# sed "s/6379/6380/g" redis-6379.conf > redis-6380.conf [root@localhost conf]# sed "s/6379/6381/g" redis-6379.conf > redis-6381.conf [root@localhost conf]# sed "s/6379/6382/g" redis-6379.conf > redis-6382.conf [root@localhost conf]# sed "s/6379/6383/g" redis-6379.conf > redis-6383.conf [root@localhost conf]# sed "s/6379/6384/g" redis-6379.conf > redis-6384.conf [root@localhost conf]# sed "s/6379/6385/g" redis-6379.conf > redis-6385.conf
全部执行后可以通过
cat
指令查看内容确保被修改
启动redis服务集群
# 在第一个窗口执行6379服务 redis-server redis-6379.conf # 在第二个窗口执行6380服务 redis-server redis-6380.conf # 在第三个窗口执行6381服务 redis-server redis-6381.conf # 下面的代码依次类推到6385
执行命令查看redis进程和端口
ps -ef | grep redis-
连接节点
在src目录下查看
redis-trib.rb
在高版本中已经将启动操作移动到
redis-cli
中启动需要两个下载两个文件分别是
ruby
和gem
# 下载命令也会将gem一起 yum -y install rubygems
# --cluster create 创建集群 # --cluster-replicas 1 指定集群的内部结构(1代表一个master连接1个slave,2代表一个master连接两个save) # 后面的连接端口按数量实现master连接哪一个slave,1对1,1对2 redis-cli --cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 --cluster-replicas 1
执行的结果如下
查看配置信息的结果如下
执行yes
命令后的信息如下
再次查看配置文件的信息,里面记录这所有集群信息
启动客户端存储数据
因为使用了集群部署,所以通过
-c
参数可以操作集群,如果不指定的是操作redis命令会提示(error) MOVED 5798 127.0.0.1:6380
注意:
-c
操作集群
redis-cli -c # 创建key,通过返回信息可以知道key存储到6380下了 127.0.0.1:6379> set name 123 -> Redirected to slot [5798] located at 127.0.0.1:6380 OK
指定端口连接客户端
# 连接指定的集群客户端 [root@localhost data]# redis-cli -c -p 6382 # 获取key 127.0.0.1:6382> get name -> Redirected to slot [5798] located at 127.0.0.1:6380 "123" 127.0.0.1:6380>
Cluster节点操作命令
查看集群节点信息
cluster nodes
进入一个从节点 redis,切换其主节点
cluster replicate <master-id>
发现一个新节点,新增主节点
cluster meet ip:port
忽略一个没有solt的节点
cluster forget <id>
手动故障转移
cluster failover
redis-trib命令
添加节点
redis-trib.rb add-node
删除节点
redis-trib.rb del-node
重新分片
redis-trib.rb reshard
3、主从下线和主从切换
1、模拟从机下线操作
在从机服务器执行
Ctrl + C
2. Aufbau der internen Struktur des Clusters
Starten Sie mehrere Fenster in der virtuellen Maschine, um den Clusteraufbau zu demonstrieren

Der Hauptbefehl wird auf dem main command operation client
ausgeführt
🎜🎜Ändern Sie die redis.conf
-Konfigurationsdatei.🎜🎜🎜Fügen Sie den folgenden Inhalt hinzu Sie können den Inhalt über den Befehl cat
anzeigen. Stellen Sie sicher, dass er geändert wurde. 🎜🎜🎜 Starten Sie den Redis-Dienstcluster ://img.php.cn/upload/article/000/887/227/168526249652682. trib.rb im src-Verzeichnis🎜🎜Der Startvorgang wurde in höhere Versionen verschoben. Gehen Sie zu redis-cli
und starten Sie es, indem Sie zwei Dateien herunterladen: ruby
und gem
🎜rrreee🎜🎜🎜rrreee🎜 Die Ergebnisse sind wie folgt🎜🎜
yes
lauten wie folgt🎜🎜
-c Der Code>-Parameter kann den Cluster betreiben. Wenn der Redis-Befehl nicht angegeben ist, wird eine Eingabeaufforderung angezeigt <code>(error) MOVED 5798 127.0.0.1:6380
🎜🎜Hinweis: -c
betreibt den Cluster🎜 🎜rrreee🎜Geben Sie den Port an, um eine Verbindung zum Client herzustellen🎜rrreee🎜Cluster-Knoten-Betriebsbefehl🎜🎜Cluster-Knoteninformationen anzeigen🎜rrreee🎜Einen Slave-Knoten redis eingeben und seinen Master-Knoten wechseln🎜rrreee🎜Neuen Knoten entdecken, neuen Primärknoten erhöhen 🎜rrreee🎜Knoten ohne Solt ignorieren🎜rrreee 🎜Manuelles Failover🎜rrreee🎜redis-trib-Befehl🎜🎜Knoten hinzufügen🎜rrreee🎜Knoten entfernen🎜rrreee🎜Reshard🎜rrreee🎜 3. Master-Slave offline und Master-Slave-Umschaltung🎜🎜1 Offline-Betrieb🎜🎜🎜Führen Sie den Download-Dienst Strg + C
auf dem Slave-Server aus🎜🎜🎜Beobachten Sie den Status des verbundenen Hosts. Wenn der Slave-Computer nicht innerhalb von 10 Sekunden verbunden werden kann, wird er markiert als fehlgeschlagen. Andere Dienste können keine Verbindung herstellen. 🎜🎜Starten Sie die Slave-Maschine erneut und die Master-Maschine stellt die Verbindung zur Slave-Maschine wieder her. 🎜🎜🎜 Wenn der Host offline geht, wechselt der Slave zu a Wenn der Host wieder online ist, wird der ursprüngliche Host zum Slave 🎜🎜Das obige ist der detaillierte Inhalt vonSo implementieren Sie den Redis7.0-Bereitstellungscluster. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Redis ist ein Speichersystem für Speicherdatenstruktur, das hauptsächlich als Datenbank, Cache und Message Broker verwendet wird. Zu den Kernmerkmalen gehören ein Einzel-Thread-Modell, E/A-Multiplexing, Persistenzmechanismus, Replikations- und Clustering-Funktionen. Redis wird üblicherweise in praktischen Anwendungen für Caching-, Sitzungsspeicher- und Nachrichtenwarteschlangen verwendet. Es kann seine Leistung erheblich verbessern, indem die richtige Datenstruktur ausgewählt, Pipelines und Transaktionen verwendet und überwacht und stimmt.

Der Hauptunterschied zwischen Redis- und SQL-Datenbanken besteht darin, dass Redis eine In-Memory-Datenbank ist, die für hohe Leistung und Flexibilitätsanforderungen geeignet ist. Die SQL -Datenbank ist eine relationale Datenbank, die für komplexe Abfragen und Datenkonsistenzanforderungen geeignet ist. Insbesondere 1) REDIS bietet Hochgeschwindigkeits-Datenzugriffs- und Caching-Dienste und unterstützt mehrere Datentypen, die für die Verarbeitung von Caching und Echtzeit geeignet sind. 2) Die SQL-Datenbank verwaltet Daten über eine Tabellenstruktur, unterstützt komplexe Abfragen und Transaktionsverarbeitung und eignet sich für Szenarien wie E-Commerce- und Finanzsysteme, die Datenkonsistenz erfordern.

RedisactsasbothadatastoreandService.1) Asadatastore, itusesin-MemoryStorageForfastoperationen, unterstützende Variiousdatastructures Likekey-Valuepairs und sortierte Sets.2) Asasservice, ItprovidesFunctionalitys Likespub/SubMessing-SetsandluascriptingForComplexoperationen

Im Vergleich zu anderen Datenbanken hat Redis die folgenden einzigartigen Vorteile: 1) extrem schnelle Geschwindigkeit, und Lese- und Schreibvorgänge befinden sich normalerweise auf Mikrosekunde; 2) unterstützt reichhaltige Datenstrukturen und Operationen; 3) Flexible Nutzungsszenarien wie Caches, Zähler und Veröffentlichung von Abonnements. Bei der Auswahl von Redis oder anderen Datenbanken hängt dies von den spezifischen Anforderungen und Szenarien ab. Redis spielt eine gute Leistung in leistungsstarken und niedrigen Latenzanwendungen.

Redis spielt eine Schlüsselrolle bei der Datenspeicherung und -verwaltung und ist durch seine mehreren Datenstrukturen und Persistenzmechanismen zum Kern moderner Anwendungen geworden. 1) Redis unterstützt Datenstrukturen wie Zeichenfolgen, Listen, Sammlungen, geordnete Sammlungen und Hash -Tabellen und eignet sich für Cache und komplexe Geschäftslogik. 2) RDB und AOF sorgt durch zwei Persistenzmethoden für eine zuverlässige Speicherung und eine schnelle Wiederherstellung von Daten.

Redis ist eine NoSQL-Datenbank, die für einen effizienten Speicher und Zugriff auf groß angelegte Daten geeignet ist. 1.Redis ist ein Open Source -Speicherdatenstruktur -Speichersystem, das mehrere Datenstrukturen unterstützt. 2. Es bietet extrem schnelle Lektüre und Schreibgeschwindigkeiten, geeignet für Caching, Sitzungsmanagement usw. 3.Redis unterstützt die Persistenz und sorgt für die Datensicherheit durch RDB und AOF. 4. Verwendungsbeispiele umfassen grundlegende Schlüsselwertpaarvorgänge und erweiterte Sammeldeduplizierungsfunktionen. 5. Zu den häufigen Fehlern gehören Verbindungsprobleme, Datentypfehlanpassungen und Speicherüberlauf, sodass Sie auf das Debuggen achten müssen. 6. Vorschläge zur Leistungsoptimierung umfassen die Auswahl der geeigneten Datenstruktur und die Einrichtung von Strategien zur Speicherung der Speicherung.

Zu den Anwendungen von Redis in der realen Welt gehören: 1. Als Cache-System beschleunigen Sie die Datenbankabfrage, 2. Um die Sitzungsdaten von Webanwendungen zu speichern, um in Echtzeit-Rankings zu implementieren, 4. Um die Nachrichtenzustellung als Nachrichtenwarteschlange zu vereinfachen. Redis 'Vielseitigkeit und hohe Leistung lassen es in diesen Szenarien glänzen.

Redis sticht aufgrund seiner hohen Geschwindigkeit, Vielseitigkeit und reichhaltigen Datenstruktur auf. 1) Redis unterstützt Datenstrukturen wie Zeichenfolgen, Listen, Sammlungen, Hashs und geordnete Sammlungen. 2) Es speichert Daten über den Speicher und unterstützt RDB und AOF Persistenz. 3) Ausgehend von Redis 6.0 wurden Multi-Thread-E/A-Operationen eingeführt, was die Leistung in hohen Parallelitätsszenarien verbessert hat.


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

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools
