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.

Das könnte dich auch interessieren …