Wie man Redis 6 unter Debian 11 installiert und konfiguriert
Redis ist ein kostenloser und quelloffener In-Memory-Datenspeicher, der als Message Broker und Datenbank-Cache verwendet wird. Du kannst ihn mit Streaming-Lösungen wie Apache Kafka verwenden, um Echtzeitdaten mit einer Latenzzeit von unter einer Millisekunde zu verarbeiten und zu analysieren. Redis unterstützt eine Vielzahl von Datenstrukturen wie Hashes, Strings, Hyperlogs, Bitmaps, räumliche Indizes, sortierte Listen und mehr. Beliebt ist Redis wegen seiner breiten Sprachunterstützung, der hohen Verfügbarkeit und der automatischen Partitionierung.
In diesem Beitrag zeigen wir dir, wie du Redis 6 auf Debian 11 installierst und konfigurierst.
Voraussetzungen
- Ein Server, auf dem Debian 11 läuft.
- Ein Root-Passwort ist auf dem Server eingerichtet.
Redis 6 auf Debian 11 installieren
Die neueste Version von Redis ist nicht im Standard-Repository von Debian 11 enthalten. Daher musst du sie aus dem offiziellen Redis-Repository installieren.
Installiere zunächst alle erforderlichen Abhängigkeiten mit dem folgenden Befehl:
apt-get install wget curl gnupg -y
Als Nächstes lädst du den GPG-Schlüssel herunter und fügst ihn mit dem folgenden Befehl hinzu:
curl https://packages.redis.io/gpg | apt-key add -
Als Nächstes fügst du das offizielle Redis-Repository mit dem folgenden Befehl hinzu:
echo "deb https://packages.redis.io/deb $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/redis.list
Als Nächstes aktualisierst du den Repository-Cache und installierst Redis mit dem folgenden Befehl:
apt-get update -y apt-get install redis-server -y
Sobald Redis installiert ist, überprüfe die Redis-Installation mit folgendem Befehl:
apt-cache policy redis-server
Du solltest die Redis-Paketinformationen in der folgenden Ausgabe sehen:
redis-server: Installed: 6:6.2.6-3rl1~bullseye1 Candidate: 6:6.2.6-3rl1~bullseye1 Version table: *** 6:6.2.6-3rl1~bullseye1 500 500 https://packages.redis.io/deb bullseye/main amd64 Packages 100 /var/lib/dpkg/status 6:6.0.16-3rl1~bullseye1 500 500 https://packages.redis.io/deb bullseye/main amd64 Packages 5:6.0.16-1+deb11u1 500 500 http://security.debian.org/debian-security bullseye-security/updates/main amd64 Packages 5:6.0.15-1 500 500 http://debian.gtisc.gatech.edu/debian bullseye/main amd64 Packages
Redis-Dienst verwalten
Du kannst den Redis-Dienst mit systemd verwalten.
Um den Redis-Dienst zu starten, führe den folgenden Befehl aus:
systemctl start redis-server
Um den Redis-Dienst beim Neustart des Systems zu starten, führe den folgenden Befehl aus:
systemctl enable redis-server
Um den Status des Redis-Dienstes zu überprüfen, führe den folgenden Befehl aus:
systemctl status redis-server
Du solltest die folgende Ausgabe sehen:
? redis-server.service - Advanced key-value store Loaded: loaded (/lib/systemd/system/redis-server.service; disabled; vendor preset: enabled) Active: active (running) since Sun 2021-11-28 07:15:00 UTC; 19s ago Docs: http://redis.io/documentation, man:redis-server(1) Main PID: 9079 (redis-server) Status: "Ready to accept connections" Tasks: 5 (limit: 4679) Memory: 7.2M CPU: 82ms CGroup: /system.slice/redis-server.service ??9079 /usr/bin/redis-server 127.0.0.1:6379 Nov 28 07:15:00 debian11 systemd[1]: Starting Advanced key-value store... Nov 28 07:15:00 debian11 systemd[1]: Started Advanced key-value store.
Standardmäßig lauscht Redis auf Port 6379. Du kannst dies mit dem folgenden Befehl überprüfen:
ss -antpl | grep redis
Du erhältst die folgende Ausgabe:
LISTEN 0 511 127.0.0.1:6379 0.0.0.0:* users:(("redis-server",pid=9079,fd=6)) LISTEN 0 511 [::1]:6379 [::]:* users:(("redis-server",pid=9079,fd=7))
Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.
Redis konfigurieren
Standardmäßig lauscht Redis auf dem localhost. Wenn du Redis von einem entfernten Host aus verbinden willst, musst du Redis für die Fernverbindung zulassen.
Dazu bearbeitest du die Redis-Konfigurationsdatei mit deinem Lieblingseditor:
nano /etc/redis/redis.conf
Kommentiere die folgende Zeile aus:
#bind 127.0.0.1 -::1
Als Nächstes legst du das Redis-Passwort wie unten gezeigt fest:
requirepass securepassword
Ändere als Nächstes die folgende Zeile:
appendonly yes appendfilename "appendonly.aof"
Speichere und schließe die Datei und starte den Redis-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart redis-server
Wenn du fertig bist, kannst du mit dem nächsten Schritt fortfahren.
Mit der Redis-Instanz verbinden
Du kannst das Kommandozeilenprogramm redis-cli verwenden, um dich mit dem Redis-Server von einem lokalen oder entfernten Rechner aus zu verbinden.
Führe den folgenden Befehl aus, um dich mit der Redis-Instanz zu verbinden:
redis-cli
Sobald du verbunden bist, erhältst du die folgende Shell:
127.0.0.1:6379>
Authentifiziere Redis mit dem Passwort, wie unten gezeigt:
127.0.0.1:6379> auth securepassword
Als Nächstes überprüfst du den Server mit dem folgenden Befehl:
127.0.0.1:6379> INFO Server
Du erhältst die folgenden Informationen:
# Server redis_version:6.2.6 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:557672d61c1e18ba redis_mode:standalone os:Linux 5.10.0-8-amd64 x86_64 arch_bits:64 multiplexing_api:epoll atomicvar_api:atomic-builtin gcc_version:10.2.1 process_id:10828 process_supervised:systemd run_id:b5ce185f0d4783dd3ddab8cabd38b0ee0263637b tcp_port:6379 server_time_usec:1638085497530445 uptime_in_seconds:32 uptime_in_days:0 hz:10 configured_hz:10 lru_clock:10695545 executable:/usr/bin/redis-server config_file:/etc/redis/redis.conf io_threads_active:0
Verlasse die Redis-Instanz mit folgendem Befehl:
127.0.0.1:6379> exit
Es wird empfohlen, einen Benchmark durchzuführen, um die Leistung von Redis zu testen.
Führe den folgenden Befehl aus, um Redis mit 10 parallelen Verbindungen und insgesamt 2k Anfragen zu testen:
redis-benchmark -h 127.0.0.1 -p 6379 -n 2000 -c 10 -a securepassword
Du erhältst die folgende Ausgabe:
====== PING_INLINE ====== 2000 requests completed in 0.05 seconds 10 parallel clients 3 bytes payload keep alive: 1 host configuration "save": 3600 1 300 100 60 10000 host configuration "appendonly": no multi-thread: no Latency by percentile distribution: 0.000% <= 0.071 milliseconds (cumulative count 1) 50.000% <= 0.159 milliseconds (cumulative count 1090) 75.000% <= 0.207 milliseconds (cumulative count 1507) 87.500% <= 0.303 milliseconds (cumulative count 1769) 93.750% <= 0.359 milliseconds (cumulative count 1880) 96.875% <= 0.415 milliseconds (cumulative count 1942) 98.438% <= 0.455 milliseconds (cumulative count 1971) 99.219% <= 0.495 milliseconds (cumulative count 1985) 99.609% <= 0.791 milliseconds (cumulative count 1993) 99.805% <= 0.919 milliseconds (cumulative count 1997) 99.902% <= 1.031 milliseconds (cumulative count 1999) 99.951% <= 1.103 milliseconds (cumulative count 2000) 100.000% <= 1.103 milliseconds (cumulative count 2000) Summary: throughput summary: 35714.29 requests per second latency summary (msec): avg min p50 p95 p99 max 0.239 0.096 0.231 0.343 0.439 0.727
Weitere Befehlszeilenoptionen erhältst du mit folgendem Befehl:
redis-benchmark --help
Fazit
Im obigen Beitrag haben wir erklärt, wie man Redis 6 auf einem Debian 11 Server installiert und konfiguriert. Du kannst Redis jetzt in einer Produktionsumgebung einsetzen und es als Message Broker oder zum Zwischenspeichern von Daten im Speicher für einen schnelleren Abruf verwenden. Wenn du noch Fragen hast, kannst du mich gerne fragen.