Redis ist eine hochverfügbare Open-Source-Schlüsselwertdatenbank vom Typ c语言
(NoSQL, nicht nur eine Datenbank), die von 非关系型数据库
geschrieben wurde.
Im Gegensatz zu herkömmlichen Datenbanken sind Redis-Daten vorhanden 内存
, sodass die Lese- und Schreibleistung im Allgemeinen nicht hoch ist und 100.000 Vorgänge pro Sekunde erreichen kann. Daher werden sie häufig beim Caching verwendet. Zum Beispiel: Teilen Sie Sitzungen mit Tomcat in der Website-Architektur, Datenbank-Caching usw.
Vorteile
Schnelle Lese- und Schreibgeschwindigkeit, das Lesen kann 110.000 Mal/s erreichen, das Schreiben kann 81.000 Mal/s erreichen s, Es ist in C-Sprache geschrieben, der Code ist elegant und es handelt sich um eine Single-Threaded-Architektur, sodass es eine hohe Ausführungseffizienz und hohe Geschwindigkeit aufweist
Unterstützt eine Vielzahl von Datenstrukturen , Zeichenfolge (Zeichenfolge, auch die am häufigsten verwendete), Hash, Liste, Menge, geordnete Menge (ZSET)
Umfangreiche Funktionen, wie zum Beispiel: natürlicher Zähler, Schlüsselablauffunktion , Nachrichtenwarteschlange usw.
unterstützt viele Clientsprachen, unterstützt PHP, Java, Python
unterstützt Datenpersistenz
Kommt mit einer Vielzahl von Hochverfügbarkeitsarchitekturen, wie zum Beispiel: Master-Slave-Replikation, Sentry, Hochverfügbarkeitscluster
Nachteile
Gerade weil die Daten im Speicher gespeichert sind, sind die Anforderungen an die Serverleistung streng. Sie können wählen, wie viel Speicher Sie entsprechend dem Geschäftsvolumen kaufen möchten. Eine Online-Erweiterung ist daher schwierig Seien Sie vorsichtig
Beharrlichkeit wird oben erwähnt. Was ist Beharrlichkeit?
Unterstützt zwei Formate persistenter Daten: AOF, RDB und eine Mischung aus diesen beiden, AOF&RDB
Hinweis: Wenn beide aktiviert sind, wird Redis AOF bevorzugt Datenwiederherstellung, aber RDB ist die Standardpersistenzmethode. AOF-Persistenz: Es zeichnet jeden von redis ausgeführten Befehl in einer separat festgelegten Protokolldatei auf. Beim Neustart oder bei der Wiederherstellung von Daten werden die Daten in der Protokolldatei wiederhergestellt.
RDB: Genau wie beim Nehmen eines Snapshot, definieren Sie den Snapshot-Zyklus gemäß den in der Konfigurationsdatei definierten Speicherparametern und speichern Sie ihn dann auf der Festplatte. Eine dump.rdb-Datei wird generiert
Vergleich zwischen AOF und RDB:
1AOF-Dateien werden häufiger aktualisiert als RDB, die Verwendung von AOF zur Wiederherstellung hat Vorrang
AOF ist sicherer als RDB
RDB-Leistung Besser als AOF, wenn die Datenmenge groß ist, ist die Protokollwiederherstellungsgeschwindigkeit langsamer als bei RDB
Wenn RDB beim kontinuierlichen Lesen und Schreiben einen Schnappschuss erstellt , kommt es zu Datenverzögerungen und die wiederhergestellten Daten sind unvollständig
Redis-Datenstruktur
1. Erstellen Sie ein Datenverzeichnis
mkdir -p /redis/soft mkdir -p /opt/redis_cluster/redis_6379/{conf,logs,pid}
Erklären Sie, warum Sie die Verzeichnisse conf, logs und pid selbst erstellen Lassen Sie sie die Initialisierung automatisch generieren
Wir sind dazu da, mehrere Redis-Prozesse auf einem Host zu starten, um den späteren Redis-Cluster zu implementieren (mindestens 6) (Die Konfiguration des Autorcomputers erlaubt mir nicht, willkürlich zu arbeiten)
2. Redis-Installationspaket herunterladen
cd /redis/soft wget http://download.redis.io/releases/redis-5.0.6.tar.gz
3. Redis nach /opt/redis_cluster/
tar zxf redis-5.0.6.tar.gz -C /opt/redis_cluster/ ln -s /opt/redis_cluster/redis-5.0.6 /opt/redis_cluster/redis #做好软连接,方便自己管理
entpacken Datei
Einige wichtige Inhalte hinzufügen/opt/redis_cluster/redis_6379/conf/6379.conf
cd /opt/redis_cluster/redis make && make install
添加: bind 127.0.0.1 192.168.10.1 port 6379 daemonize yes #开启daemon进程pidfile /opt/redis_cluster/redis_6379/pid/redis_6379.pid logfile /opt/redis_cluster/redis_6379/logs/redis_6379.log databases 16 dbfilename redis.rdb #RDB持久化文件dir /opt/redis_cluster/redis_6379 #RDB存放的位置
redis-server /opt/redis_cluster/redis_6379/conf/6379.conf
Persistente RDB-Konfiguration[root@redis-master ~]# netstat -anpt |grep 6379tcp 0 0 192.168.10.1:6379 0.0.0.0:* LISTEN 49206/redis-server tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 49206/redis-server tcp 0 0 127.0.0.1:41400 127.0.0.1:6379 TIME_WAIT - tcp 0 0 192.168.10.1:6379 192.168.10.8:46220 ESTABLISHED 49206/redis-server [root@redis-master ~]#
Persistente AOF-Konfiguration
vim /opt/redis_cluster/redis_6379/conf/6379.conf 添加: save 900 1 #在900秒(15分钟)之后,如果至少有1个key发生变化,则dump内存快照。save 300 10 #在300秒(5分钟)之后,如果至少有10个key发生变化,则dump内存快照。save 60 500 #在60秒(1分钟)之后,如果至少有500个key发生变化,则dump内存快照
vim /opt/redis_cluster/redis_6379/conf/6379.conf 添加: appendonly yes #启用AOF持久化appendfilename "redis.aof" #指定AOF文件名appendfsync everysec #每秒同步一次
redis-cli shutdownredis-server /opt/redis_cluster/redis_6379/conf/6379.conf
Wenn die Datenbank zu diesem Zeitpunkt geschlossen ist, werden die Dinge im Speicher geschlossen gehen normalerweise verloren, aber jetzt wird es definitiv nicht verloren gehen. Ja, und es wird persistente Dateien geben Müssen Sie eine Redis-Master-Slave-Replikation durchführen?
Um den Single Point of Failure zu beheben, kopieren Sie die Daten auf einen oder mehrere Replikatserver (Slave-Server), um Redundanz zu erreichen und den Zweck der Fehlerbehebung und des Lastausgleichs zu erreichen.Erstellen Sie einen anderen Server und installieren Sie ihn redis1. Der Einfachheit halber kopieren wir den vorherigen Master direkt
2. Installieren Sie redis direkt, ohne es neu zu kompilieren wurde im Master durchgeführt
#!/bin/bashfor i in {1..500}do redis-cli set k_$i v_$idone
3. Starten Sie den Dienst
[root@redis-master ~]# scp -rp /opt/redis_cluster/ root@192.168.10.8:/opt
Erstellen Sie einen neuen Schlüsselwert auf dem Master Server und testen Sie die automatische Synchronisierung des Slave-Serversmake install
Während des Synchronisierungsprozesses kann der Slave-Server nur die Daten der Master-Datenbank kopieren , und kann keine Daten manuell hinzufügen und ändern. redis-server /opt/redis_cluster/redis_6379/conf/6379.conf
Wenn der Slave-Server die Daten ändern muss, muss die Synchronisierung unterbrochen werden:
OK
Wenn der Master dies tut Nach unten kann der Slave-Server zu diesem Zeitpunkt eine unabhängige Einzelperson sein, andere Slave-Server können den Wechsel durch [root@redis-slave ~]# redis-cli slaveof no one
abschließen
Dieser Artikel ist reproduziert von: https://blog.csdn_43815140/article/details/106128848手动断开同步
指向自己
Weitere Informationen zu diesem Thema finden Sie auf der
Das obige ist der detaillierte Inhalt vonRedis-Persistenzkonfiguration (Bild- und Texteinführung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!