Heim >Datenbank >SQL >Redis-Persistenzkonfiguration (Bild- und Texteinführung)

Redis-Persistenzkonfiguration (Bild- und Texteinführung)

烟雨青岚
烟雨青岚nach vorne
2020-06-17 16:40:012981Durchsuche

Redis-Persistenzkonfiguration (Bild- und Texteinführung)

Redis-Persistenzkonfiguration (Bild- und Texteinführung)

Redis kurze Einführung

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.

Vor- und Nachteile von Redis

Vorteile

  1. 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

  2. Unterstützt eine Vielzahl von Datenstrukturen , Zeichenfolge (Zeichenfolge, auch die am häufigsten verwendete), Hash, Liste, Menge, geordnete Menge (ZSET)

  3. Umfangreiche Funktionen, wie zum Beispiel: natürlicher Zähler, Schlüsselablauffunktion , Nachrichtenwarteschlange usw.

  4. unterstützt viele Clientsprachen, unterstützt PHP, Java, Python

  5. unterstützt Datenpersistenz

  6. Kommt mit einer Vielzahl von Hochverfügbarkeitsarchitekturen, wie zum Beispiel: Master-Slave-Replikation, Sentry, Hochverfügbarkeitscluster

Nachteile

  1. 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

  2. Beharrlichkeit wird oben erwähnt. Was ist Beharrlichkeit?

  3. Persistenz unterstützt das Schreiben von Daten im Speicher auf die Festplatte, um zu verhindern, dass alle Daten im Speicher verloren gehen, wenn der Server ausfällt.

So erreichen Sie Persistenz

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

  1. AOF ist sicherer als RDB

  2. RDB-Leistung Besser als AOF, wenn die Datenmenge groß ist, ist die Protokollwiederherstellungsgeschwindigkeit langsamer als bei RDB

  3. Wenn RDB beim kontinuierlichen Lesen und Schreiben einen Schnappschuss erstellt , kommt es zu Datenverzögerungen und die wiederhergestellten Daten sind unvollständig

  4. Redis-Datenstruktur

  5. Implementierung der Persistenz von Redis

    Bereitstellung von Redis

    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

    6. Starten Sie den aktuellen Redis-Dienst


    添加:
    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.confPersistente RDB-Konfiguration

    Ändern Sie die Konfiguration Datei und fügen Sie das Speicherelement hinzu

    [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

    Gleiche wie das Ändern der Konfigurationsdatei

    Appendonly hinzufügen und Persistenz aktivieren

    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内存快照

    Redis neu starten, damit es wirksam wird und Persistenz überprüfen
    vim /opt/redis_cluster/redis_6379/conf/6379.conf
    添加:
    appendonly yes				#启用AOF持久化appendfilename "redis.aof"	#指定AOF文件名appendfsync everysec		#每秒同步一次

    Schlüssel-Wert-Paare zur Redis-Datenbank hinzufügen

    redis-cli shutdownredis-server /opt/redis_cluster/redis_6379/conf/6379.conf

    Redis-Persistenzkonfiguration (Bild- und Texteinführung)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 redis

    Redis-Persistenzkonfiguration (Bild- und Texteinführung)1. Der Einfachheit halber kopieren wir den vorherigen Master direkt


    2. Installieren Sie redis direkt, ohne es neu zu kompilieren wurde im Master durchgeführt

    Ändern Sie die Konfigurationsdatei

    #!/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

    Hinweis:

    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.confWenn der Slave-Server die Daten ändern muss, muss die Synchronisierung unterbrochen werden:

    OK Redis-Persistenzkonfiguration (Bild- und Texteinführung)
    Wenn der Master dies tut Nach unten kann der Slave-Server Redis-Persistenzkonfiguration (Bild- und Texteinführung) 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

    PHP Chinese-Website! !

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen