Redis ist ein Open-Source (BSD-lizenzierter) In-Memory-Datenstrukturspeicher. Es kann als Datenbank verwendet werden , Cache und Message-Broker. Es unterstützt verschiedene Arten von abstrakten Datenstrukturen wie Strings, Hashes, Listen, Sets, sortierte Sets, Hyperlogs, Bitmaps, Streams und räumliche Indizes.
Dieser Beitrag erklärt Ihnen, wie Sie Redis installieren auf CentOS 7 / RHEL 7 &Ubuntu 18.04 / Ubuntu 16.04 . Helfen Sie auch beim Einrichten der Master/Slave-Replikation auf Redis.
Installieren Sie Redis auf CentOS 7/RHEL 7 &Ubuntu 18.04/Ubuntu 16.04
Redis-Paket im EPEL-Repository verfügbar für CentOS / RHEL und OS-Repository auf Ubuntu ist ziemlich alt. Daher werden wir die neueste Version von Redis (v5.0.2) aus dem Remi-Repository installieren und chris lea PPA auf CentOS / RHEL bzw. Ubuntu.
Repository einrichten
Beginnen Sie mit dem Hinzufügen von Repositories basierend auf den von Ihnen verwendeten Betriebssystemen.
### CentOS 7 / RHEL 7 ### rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -ivh https://rpms.remirepo.net/enterprise/remi-release-7.rpm # for RHEL only subscription-manager repos --enable=rhel-7-server-optional-rpms ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo add-apt-repository ppa:chris-lea/redis-server sudo apt update
Redis installieren
Installieren Sie das Redis-Paket, indem Sie den folgenden Befehl im Terminal eingeben.
### CentOS 7 / RHEL 7 ### yum install -y redis --enablerepo=remi ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo apt install -y redis-server
Starten Sie jetzt den Redis-Server und aktivieren Sie ihn so, dass er beim Systemstart automatisch gestartet wird.
### CentOS 7 / RHEL 7 ### systemctl start redis systemctl enable redis ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo systemctl start redis-server sudo systemctl enable redis-server
Geben Sie den folgenden Befehl ein, um den Status des Redis-Dienstes zu überprüfen.
### CentOS 7 / RHEL 7 ### systemctl status redis ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo systemctl status redis-server
Sie sollten so etwas wie unten sehen.
● redis.service - Redis persistent key-value database Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/redis.service.d └─limit.conf Active: active (running) since Wed 2018-11-28 06:57:30 UTC; 14s ago Main PID: 1898 (redis-server) CGroup: /system.slice/redis.service └─1898 /usr/bin/redis-server 127.0.0.1:6379 Nov 28 06:57:30 redisc7 systemd[1]: Starting Redis persistent key-value database... Nov 28 06:57:30 redisc7 systemd[1]: Started Redis persistent key-value database.
Redis-Installation überprüfen
Stellen Sie mit redis-cli
sicher, dass Redis ausgeführt wird (Befehlszeilenschnittstelle von Redis).
redis-cli ping
Wenn Redis ausgeführt wird, wird ein PONG zurückgegeben.
PONG
Sie haben jetzt Redis auf Ihrem Server ausgeführt.
Redis-Fernzugriff konfigurieren (optional)
Standardmäßig lässt Redis keine Remote-Verbindungen zu. Sie können sich nur von 127.0.0.1 (localhost) aus mit Redis verbinden – dem Rechner, auf dem Redis läuft.
Führen Sie die folgenden Schritte nur aus, wenn Sie von Remote-Hosts aus eine Verbindung zu Ihrem Redis-Server herstellen möchten.
Bearbeiten Sie die Redis-Konfigurationsdatei.
### CentOS 7 / RHEL 7 ### vi /etc/redis.conf ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo nano /etc/redis/redis.conf
Suchen Sie die Zeile, die mit bind 127.0.0.1
beginnt und fügen Sie Ihre Server-IP-Adresse nach 127.0.0.1 hinzu. Dann speichern und schließen Sie die Datei.
bind 127.0.0.1 192.168.1.10
Stellen Sie sicher, dass Sie 192.168.1.10 durch Ihre IP-Adresse ersetzen.
Starten Sie den Redis-Server neu, damit die Änderungen wirksam werden.
### CentOS 7 / RHEL 7 ### systemctl restart redis ### Ubuntu 18.04 / Ubuntu 16.04 ### systemctl restart redis-server
Verwenden Sie den folgenden netstat
Befehl, um zu überprüfen, ob der Redis-Server Ihre Serverschnittstelle auf Port 6379 abhört.
netstat -antup | grep -i 6379
Sie sollten so etwas wie unten sehen.
tcp 0 0 10.142.0.10:6379 0.0.0.0:* LISTEN 2081/redis-server 1
LESEN :netstat-Befehl nicht gefunden auf CentOS 7 / RHEL 7 – Quick Fix
LESEN :netstat-Befehl nicht gefunden unter Debian / Ubuntu / Linux Mint – Quick Fix
Firewall (CentOS / RHEL)
Sie müssen eine Firewall-Regel hinzufügen, die Datenverkehr von Remote-Computern zum Redis-Server auf TCP-Port 6379 zulässt, falls Sie den Remote-Zugriff aktiviert haben.
Führen Sie die folgenden Befehle im Terminal
ausfirewall-cmd --permanent --add-port=6379/tcp firewall-cmd --reload
Remotezugriff bestätigen
Um zu überprüfen, ob der Fernzugriff ordnungsgemäß eingerichtet ist, können Sie versuchen, den Redis-Server von Ihrem Remote-Computer aus mit redis-cli
zu pingen (Befehlszeilenschnittstelle).
redis-cli -h <REDIS_IP_ADDRESS> ping
Der Befehl sollte ein PONG zurückgeben.
PONG
Redis-Master/Slave-Replikation einrichten
Auf Masterknoten
Schritt 1: Installieren Sie Redis
Schritt 2:Fernzugriff konfigurieren
Auf Slave-Knoten
Schritt 1: Installieren Sie Redis
Slave konfigurieren
Konfigurieren Sie eine Slave-Instanz, indem Sie replicaof
hinzufügen Direktive in redis.conf
um die Replikation einzurichten.
### CentOS 7 / RHEL 7 ### vi /etc/redis.conf ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo nano /etc/redis/redis.conf
Ersetzen Sie erneut 192.168.1.10 durch die IP-Adresse des Master-Knotens.
replicaof 192.168.1.10 6379
Starten Sie den Dienst neu.
### CentOS 7 / RHEL 7 ### systemctl restart redis ### Ubuntu 18.04 / Ubuntu 16.04 ### systemctl restart redis-server
Reds Master/Slave-Replikation überprüfen
Testen Sie, ob die Replikation funktioniert. Führen Sie auf Ihrem Master-Knoten redis-cli aus und führen Sie den Befehl set 'name' Raj
aus .
redis-cli 127.0.0.1:6379> set 'name' Raj
Ausgabe:
OK
Verlassen Sie die redis-cli-Eingabeaufforderung, indem Sie exit eingeben oder Strg-C drücken.
Führen Sie als Nächstes redis-cli auf dem Slave-Knoten aus und führen Sie get 'name'
aus , die denselben Wert wie auf dem Master zurückgeben sollte.
redis-cli 127.0.0.1:6379> get 'name'
Ausgabe:
"Raj"
Diese Ausgabe bestätigt, dass die Master/Slave-Replikationseinrichtung ordnungsgemäß funktioniert.
Um mehr über die Verwendung von Redis zu erfahren, besuchen Sie die offizielle Dokumentation von Redis Seite.
Das ist alles.