Technologieaustausch

NoSQL REDIS-Konfiguration und -Optimierung

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Einführung in Redis

Redis (Remote Dictionary Server) ist eine in der Sprache C geschriebene Open-Source-NoSQL-Datenbank. Sie läuft speicherbasiert und unterstützt Persistenz unter Verwendung der Schlüsselwertspeicherform. Redis wird aufgrund seiner hohen Leistung, umfangreichen Datentypunterstützung und atomaren Operationen häufig in Caching-, Echtzeit-Analysesystemen, Rankings und anderen Szenarien eingesetzt.
Das Redis-Serverprogramm ist ein Einzelprozessmodell, das heißt, mehrere Redis-Prozesse können gleichzeitig auf einem Server gestartet werden, und die tatsächliche Verarbeitungsgeschwindigkeit von Redis hängt vollständig von der Ausführungseffizienz des Hauptprozesses ab. Wenn nur ein Redis-Prozess auf dem Server ausgeführt wird und mehrere Clients gleichzeitig darauf zugreifen, verringert sich die Verarbeitungsfähigkeit des Servers bis zu einem gewissen Grad. Wenn mehrere Redis-Prozesse auf demselben Server geöffnet werden, verbessert Redis die gleichzeitige Verarbeitungsfähigkeit. Gleichzeitig wird dadurch die CPU des Servers stark belastet. Das heißt: In der tatsächlichen Produktionsumgebung müssen Sie basierend auf den tatsächlichen Anforderungen entscheiden, wie viele Redis-Prozesse gestartet werden sollen. Wenn Sie höhere Anforderungen an eine hohe Parallelität haben, können Sie erwägen, mehrere Prozesse auf demselben Server zu starten. Wenn die CPU-Ressourcen knapp sind, kann ein einzelner Prozess verwendet werden.

2. Installation von Redis unter Linux

Es gibt hauptsächlich die folgenden Methoden, um Redis unter Linux zu installieren:

1. Installieren Sie es mit einem Paketmanager

Bei den meisten Linux-Distributionen kann Redis direkt über einen Paketmanager installiert werden.Unter Ubuntu oder Debian können Sie beispielsweise verwendenapt-getBefehl:

bash复制代码

sudo apt-get update
sudo apt-get install redis-server

Verwenden Sie unter CentOS oder Red HatyumBefehl:

bash复制代码

sudo yum update
sudo yum install redis

2. Kompilieren und installieren Sie den Quellcode

Eine andere Installationsmethode besteht darin, den Quellcode von der offiziellen Redis-Website herunterzuladen und ihn dann zu kompilieren und zu installieren. Gehen Sie wie folgt vor:

  1. Kompilierungstools installieren

    Zuerst müssen Sie Kompilierungstools wie gcc installieren.Unter CentOS oder Red Hat können Sie verwendenyumInstallieren:

    bash复制代码

    sudo yum install gcc-c++ make
  2. Laden Sie den Redis-Quellcode herunter

    Laden Sie das neueste komprimierte Paket (z. B. redis-6.xxtar.gz) von der offiziellen Redis-Website herunter.

  3. Kompilieren und installieren

    Entpacken Sie das heruntergeladene komprimierte Paket, geben Sie das Dekomprimierungsverzeichnis ein und führen Sie die Kompilierungs- und Installationsbefehle aus:

    bash复制代码

    tar zxvf redis-6.x.x.tar.gz
    cd redis-6.x.x
    make && make PREFIX=/usr/local/redis install
  4. Konfigurieren Sie den Redis-Dienst

    Sie können das nutzen, was Redis bereitstelltinstall_server.shSkript zum Einrichten des Redis-Dienstes oder zum manuellen Konfigurieren.

3. Redis-Konfiguration und -Optimierung

1. Konfigurationsdatei

Die Konfigurationsdatei für Redis ist normalerweiseredis.conf, können Sie verschiedene Parameter von Redis konfigurieren, indem Sie diese Datei ändern.

  • Adresse binden : Standardmäßig akzeptiert Redis nur Verbindungen von der lokalen Schnittstelle.Wenn Sie möchten, dass Redis Verbindungen von anderen Hosts akzeptiert, müssen Sie Änderungen vornehmenbindOption oder kommentieren Sie die Zeile aus.
  • Sicherheitsmodus : Redis läuft standardmäßig im geschützten Modus und akzeptiert nur Verbindungen von 127.0.0.1. Durch Deaktivieren des geschützten Modus sind Remoteverbindungen möglich.
  • Passwortauthentifizierung: Um die Sicherheit zu verbessern, können Sie ein Passwort für Redis festlegen.
  • Beharrlichkeit : Redis unterstützt zwei Persistenzmechanismen: RDB und AOF. Persistenz kann durch Festlegen von Optionen in der Konfigurationsdatei aktiviert werden.
  • Maximales Speicherlimit: Sie können die maximale Speichernutzung von Redis und die Eliminierungsstrategie festlegen, wenn der maximale Speicher erreicht ist.

2. Leistungsoptimierung

Die Leistungsoptimierung von Redis umfasst hauptsächlich die Steuerung der Speicherzuteilung, Swapiness-Einstellungen, Optimierung der Netzwerkverbindung usw.

  • Kontrolle der Speicherzuteilung

    im Linux-Betriebssystemvm.overcommit_memory Parameter steuern die Speicherzuweisungsstrategie. Redis empfiehlt, dies auf 1 zu setzen, damit Fork-Vorgänge auch in Situationen mit wenig Arbeitsspeicher erfolgreich durchgeführt werden können.

    bash复制代码

    echo "vm.overcommit_memory=1" >> /etc/sysctl.conf
    sysctl vm.overcommit_memory=1
  • Swapiness-Einstellungen

    Der Swapiness-Parameter bestimmt die Tendenz des Betriebssystems, Swap zu verwenden. Für Anwendungen, die eine hohe Parallelität und einen hohen Durchsatz erfordern, wird empfohlen, die Swap-Funktion auf einen niedrigeren Wert zu setzen, um die Möglichkeit zu verringern, dass Festplatten-E/A zu einem Systemengpass wird.

    bash复制代码

    echo "vm.swappiness=10" >> /etc/sysctl.conf
    sysctl vm.swappiness=10
  • Optimierung der Netzwerkverbindung

    Sorgen Sie für eine stabile Netzwerkverbindung und reduzieren Sie Netzwerkverzögerungen und Paketverluste.Konfigurieren Sie gleichzeitig die TCP-Parameter von Redis angemessen, ztcp-keepaliveusw., um die Stabilität und Zuverlässigkeit von Netzwerkverbindungen zu verbessern.

3. Überwachung und Debugging

  • Redis-Status anzeigen

    Kann benutzenredis-cliBefehl zum Herstellen einer Verbindung zum Redis-Server und zum AusführenINFOBefehl zum Anzeigen des aktuellen Status von Redis, einschließlich Speichernutzung, Persistenzstatus, Anzahl der Verbindungen usw.

  • Protokolldateien anzeigen

    Redis-Protokolldateien befinden sich normalerweise unter/var/log/redis/redis-server.logkönnen Sie Fehlerinformationen und den Ausführungsstatus abrufen, indem Sie die Protokolldatei anzeigen.