In diesem Tutorial lernen wir, wie man Redis 6 auf OpenSUSE Leap 15.3 installiert.
Verwandte Inhalte
- So installieren und konfigurieren Sie Redis 6 unter FreeBSD 13
- So installieren und konfigurieren Sie Redis 6 auf Rocky Linux/Centos 8
- So installieren und konfigurieren Sie Redis 6 auf Fedora 34
- So führen Sie Redis 6 mit Docker und Docker-Compose aus
- So installieren und konfigurieren Sie Postgres 14 auf Fedora 34
- Was bei einer frischen Fedora 34 Desktop-Installation zu tun ist
Voraussetzungen
Um mitzumachen, stellen Sie sicher, dass Sie Folgendes haben:
- Ein aktualisierter OpenSUSE Leap-Server
- Zugang zum Internet
- Root-Zugriff auf den Server oder Benutzer mit sudo-Zugriff
Inhaltsverzeichnis
- Aktualisieren Sie den OpenSUSE Leap-Server
- Redis installieren
- Redis konfigurieren
- Verbinden und Ausführen grundlegender Vorgänge in Redis
- Redis-Benchmark durchführen
1. Aktualisieren Sie den OpenSUSE Leap-Server
Stellen Sie vor dem Fortfahren sicher, dass der Server aktualisiert ist. Wir werden die Repositorys aktualisieren und dann mit diesen Befehlen aktualisieren:
sudo zypper ref
sudo zypper up -y
Lassen Sie uns auch sicherstellen, dass vim mit diesem Befehl installiert ist, da wir ihn später verwenden werden:
sudo zypper in -y vim
2. Redis installieren
Redis 6 ist in den Standard-OpenSUSE-Leap-Servern verfügbar. Aber es ist nicht die neuste Version. Um die neueste Version zu erhalten, fügen Sie das Databases-Repo mit diesem Befehl hinzu:
sudo curl -L -o /etc/zypp/repos.d/server-database.repo https://download.opensuse.org/repositories/server:/database/openSUSE_Leap_15.3/server:database.repo
Bestätigen Sie den Inhalt des Repos mit dem cat-Befehl:
~> cat /etc/zypp/repos.d/server-database.repo
[server_database]
name=Databases (openSUSE_Leap_15.3)
type=rpm-md
baseurl=https://download.opensuse.org/repositories/server:/database/openSUSE_Leap_15.3/
gpgcheck=1
gpgkey=https://download.opensuse.org/repositories/server:/database/openSUSE_Leap_15.3/repodata/repomd.xml.key
enabled=1
Aktualisieren Sie dann die Repos mit diesem Befehl:
sudo zypper ref
Installieren Sie nun redis:
~> sudo zypper in redis
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following NEW package is going to be installed:
redis
1 new package to install.
Overall download size: 1.1 MiB. Already cached: 0 B. After the operation, additional 4.3 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): y
Retrieving package redis-6.2.6-lp153.178.3.x86_64 (1/1), 1.1 MiB ( 4.3 MiB unpacked)
Retrieving: redis-6.2.6-lp153.178.3.x86_64.rpm ......................................................................................................[done]
Checking for file conflicts: ........................................................................................................................[done]
(1/1) Installing: redis-6.2.6-lp153.178.3.x86_64 ....................................................................................................[done]
Additional rpm output:
useradd -r -s /sbin/nologin -c "User for redis key-value store" -g redis -d /var/lib/redis redis
See /usr/share/doc/packages/redis/README.SUSE to continue
Verwenden Sie diesen Befehl, um das installierte Redis-Paket zu bestätigen:
~> zypper info redis
Loading repository data...
Reading installed packages...
Information for package redis:
------------------------------
Repository : Databases (openSUSE_Leap_15.3)
Name : redis
Version : 6.2.6-lp153.178.3
Arch : x86_64
Vendor : obs://build.opensuse.org/server:database
Installed Size : 4.3 MiB
Installed : Yes
Status : up-to-date
Source package : redis-6.2.6-lp153.178.3.src
Summary : Persistent key-value database
Description :
redis is an advanced key-value store. It is similar to memcached but the dataset
is not volatile, and values can be strings, exactly like in memcached,
but also lists, sets, and ordered sets. All this data types can be manipulated
with atomic operations to push/pop elements, add/remove elements, perform server
side union, intersection, difference between sets, and so forth. Redis supports
different kind of sorting abilities.
Bei der Installation ist mir aufgefallen, dass kein systemd-Dienst zum Verwalten der Redis hinzugefügt wurde. Lassen Sie uns eine systemd-Datei in diesem Pfad /etc/systemd/system/redis.service
erstellen mit diesem Befehl:
sudo vim /etc/systemd/system/redis.service
Fügen Sie dann diesen Inhalt zur Datei hinzu:
[Unit]
Description=Redis In-Memory Data Store
After=network.target
[Service]
User=redis
Group=redis
ExecStart=/usr/sbin/redis-server /etc/redis/redis.conf
LimitNOFILE=10240
ExecStop=/usr/bin/redis-cli shutdown
Restart=always
[Install]
WantedBy=multi-user.target
Erstellen Sie die angegebene Konfigurationsdatei /etc/redis/redis.conf, indem Sie die Beispieldatei kopieren:
sudo cp /etc/redis/default.conf.example /etc/redis/redis.conf
Aktualisieren Sie abschließend die Dateiberechtigung:
sudo chown redis.redis /etc/redis/redis.conf
Nachdem die Dienstdatei erstellt wurde, starten wir sie mit diesem Befehl:
sudo systemctl start redis
Aktivieren Sie den Dienst, damit er beim Booten startet:
$ sudo systemctl enable redis
Created symlink /etc/systemd/system/multi-user.target.wants/redis.service → /usr/lib/systemd/system/redis.service.
Verwenden Sie nach dem Start des Dienstes diesen Befehl, um den Status des Dienstes zu überprüfen:
~> sudo systemctl status redis
● redis.service - Redis In-Memory Data Store
Loaded: loaded (/etc/systemd/system/redis.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2021-11-01 07:28:53 UTC; 2min 21s ago
Main PID: 4377 (redis-server)
Tasks: 5 (limit: 4587)
CGroup: /system.slice/redis.service
└─4377 /usr/sbin/redis-server 127.0.0.1:6379
Nov 01 07:28:53 ip-10-2-40-60 systemd[1]: Started Redis In-Memory Data Store.
Der Active: active (running)
bedeutet, dass der Dienst erfolgreich gestartet wurde.
3. Redis konfigurieren
Die Redis-Konfigurationsdatei befindet sich in diesem Pfad /etc/redis/redis.conf
. In diesem Abschnitt werden wir die Redis-Konfigurationsdatei aktualisieren, um den Fernzugriff zu ermöglichen, ein Authentifizierungskennwort festzulegen, eine PID-Datei hinzuzufügen und den dauerhaften Speicher für die Wiederherstellung festzulegen.
Bearbeiten Sie die Redis-Konfigurationsdatei mit:
sudo vim /etc/redis/redis.conf
Um den Fernzugriff auf die redis-Instanz zu ermöglichen, binden Sie redis mit dieser Zeile an 0.0.0.0:
bind * -::*
Um das Passwort in Redis festzulegen, verwenden Sie Folgendes:
requirepass j2GfJuLFR8
Um eine PID-Datei zu redis hinzuzufügen:
pidfile /var/run/redis/redis-server.pid
Legen Sie Persistent Store for Recovery fest, indem Sie den appendonly-Wert auf yes ändern
appendonly yes
appendfilename "appendonly.aof"
Starten Sie den Redis-Dienst neu, um die Änderungen zu übernehmen:
sudo systemctl restart redis
4. Verbinden und Ausführen grundlegender Vorgänge in Redis
Wenn Sie einen aktiven Firewall-Dienst haben, lassen Sie Port 6379 zu
sudo firewall-cmd --add-port=6379/tcp --permanent
sudo firewall-cmd --reload
Verbindung zu Redis lokal herstellen:
$ redis-cli
Zur Authentifizierung:
127.0.0.1:6379> auth j2GfJuLFR8
OK
Sie sollten OK
erhalten in der Ausgabe. Wenn Sie ein falsches Passwort eingeben, sollte die Authentifizierung fehlschlagen.
Redis-Informationen prüfen.
127.0.0.1:6379> INFO
Dadurch wird eine lange Liste von Daten ausgegeben. Sie können die Ausgabe einschränken, indem Sie Abschnitt als Argument übergeben. Z. B.
127.0.0.1:6379> INFO Server # Server redis_version:6.2.6 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:fa8def48b70298fc redis_mode:standalone os:Linux 5.3.18-59.27-default x86_64 arch_bits:64 multiplexing_api:epoll atomicvar_api:c11-builtin gcc_version:7.5.0 process_id:4590 process_supervised:no run_id:9448d092343987bc83f0c24ff3aa0ce051827e5b tcp_port:6379 server_time_usec:1635752416634177 uptime_in_seconds:334 uptime_in_days:0 hz:10 configured_hz:10 lru_clock:8362464 executable:/usr/sbin/redis-server config_file:/etc/redis/redis.conf io_threads_active:0
5. Durchführen von Redis-Benchmarking
Führen Sie den Benchmark mit 15
aus parallele Verbindungen für insgesamt 10k
Anfragen, gegen lokale Redis, um ihre Leistung zu testen.
~> redis-benchmark -h 127.0.0.1 -p 6379 -n 10000 -c 15 -a j2GfJuLFR8
====== PING_INLINE ======
10000 requests completed in 0.18 seconds
15 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.039 milliseconds (cumulative count 1)
50.000% <= 0.111 milliseconds (cumulative count 6640)
75.000% <= 0.119 milliseconds (cumulative count 7573)
87.500% <= 0.183 milliseconds (cumulative count 8767)
93.750% <= 0.255 milliseconds (cumulative count 9439)
96.875% <= 0.383 milliseconds (cumulative count 9705)
98.438% <= 0.607 milliseconds (cumulative count 9847)
99.219% <= 0.887 milliseconds (cumulative count 9923)
99.609% <= 1.047 milliseconds (cumulative count 9963)
99.805% <= 1.231 milliseconds (cumulative count 9981)
99.902% <= 1.991 milliseconds (cumulative count 9991)
99.951% <= 3.095 milliseconds (cumulative count 9999)
99.994% <= 3.103 milliseconds (cumulative count 10000)
100.000% <= 3.103 milliseconds (cumulative count 10000)
Cumulative distribution of latencies:
40.480% <= 0.103 milliseconds (cumulative count 4048)
91.360% <= 0.207 milliseconds (cumulative count 9136)
95.620% <= 0.303 milliseconds (cumulative count 9562)
97.280% <= 0.407 milliseconds (cumulative count 9728)
..........
99.970% <= 0.503 milliseconds (cumulative count 9997)
100.000% <= 0.607 milliseconds (cumulative count 10000)
Summary:
throughput summary: 75187.97 requests per second
latency summary (msec):
avg min p50 p95 p99 max
0.173 0.064 0.167 0.239 0.295 0.583
Verwenden Sie für weitere Optionen und Beispiele:
$ redis-benchmark --help
Schlussfolgerung
Wir haben es geschafft, Redis 6 in OpenSUSE Leap zu installieren und zu konfigurieren.