In questo tutorial impareremo come installare Redis 6 su OpenSUSE Leap 15.3.
Contenuti correlati
- Come installare e configurare Redis 6 su FreeBSD 13
- Come installare e configurare Redis 6 su Rocky Linux/Centos 8
- Come installare e configurare Redis 6 su Fedora 34
- Come eseguire Redis 6 con Docker e Docker-Compose
- Come installare e configurare Postgres 14 su Fedora 34
- Cose da fare su una nuova installazione desktop di Fedora 34
Prerequisiti
Per seguire, assicurati di avere:
- Un server OpenSUSE Leap aggiornato
- Accesso a Internet
- Accesso root al server o utente con accesso sudo
Indice dei contenuti
- Aggiorna il server OpenSUSE Leap
- Installazione di Redis
- Configurazione di Redis
- Collegamento ed esecuzione di operazioni di base in Redis
- Prestazione Redis Benchmark
1. Aggiorna OpenSUSE Leap Server
Prima di procedere, assicurarsi che il server sia aggiornato. Aggiorneremo i repository quindi aggiorneremo utilizzando questi comandi:
sudo zypper ref
sudo zypper up -y
Assicuriamoci anche che vim sia installato usando questo comando poiché lo useremo in seguito:
sudo zypper in -y vim
2. Installazione di redis
Redis 6 è disponibile nei server OpenSUSE Leap predefiniti. Ma non è l'ultima versione. Per ottenere l'ultima versione, aggiungi il repository Database utilizzando questo comando:
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
Conferma il contenuto del repository usando il comando cat:
~> 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
Quindi aggiorna i repository usando questo comando:
sudo zypper ref
Ora installa 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
Utilizzare questo comando per confermare il pacchetto redis installato:
~> 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.
Al momento dell'installazione, ho notato che non è stato aggiunto alcun servizio systemd per la gestione del redis. Creiamo un file systemd in questo percorso /etc/systemd/system/redis.service
usando questo comando:
sudo vim /etc/systemd/system/redis.service
Aggiungi questo contenuto al file:
[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
Crea il file di configurazione specificato /etc/redis/redis.conf copiando il file di esempio:
sudo cp /etc/redis/default.conf.example /etc/redis/redis.conf
Infine, aggiorna il permesso del file:
sudo chown redis.redis /etc/redis/redis.conf
Ora che il file di servizio è stato creato, iniziamo con questo comando:
sudo systemctl start redis
Abilita il servizio in modo che si avvii all'avvio:
$ sudo systemctl enable redis
Created symlink /etc/systemd/system/multi-user.target.wants/redis.service → /usr/lib/systemd/system/redis.service.
Dopo l'avvio del servizio, utilizzare questo comando per verificare lo stato del servizio:
~> 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.
Il Active: active (running)
significa che il servizio è stato avviato correttamente.
3. Configurazione di Redis
Il file di configurazione di redis si trova in questo percorso /etc/redis/redis.conf
. In questa sezione, aggiorneremo il file di configurazione di redis per consentire l'accesso remoto, per impostare una password di autenticazione, per aggiungere un file pid e per impostare l'archivio persistente per il ripristino.
Modifica il file di configurazione redis usando questo:
sudo vim /etc/redis/redis.conf
Per consentire l'accesso remoto all'istanza redis, associare redis a 0.0.0.0 utilizzando questa riga:
bind * -::*
Per impostare la password in redis, usa questo:
requirepass j2GfJuLFR8
Per aggiungere un file pid a redis:
pidfile /var/run/redis/redis-server.pid
Imposta l'archivio persistente per il ripristino modificando appendonlyvalue su yes
appendonly yes
appendfilename "appendonly.aof"
Riavvia il servizio redis per applicare le modifiche:
sudo systemctl restart redis
4. Connessione ed esecuzione delle operazioni di base in Redis
Se hai un servizio firewalld attivo, consenti la porta 6379
sudo firewall-cmd --add-port=6379/tcp --permanent
sudo firewall-cmd --reload
Connessione a redis in locale:
$ redis-cli
Per autenticarsi:
127.0.0.1:6379> auth j2GfJuLFR8
OK
Dovresti ricevere OK
nell'uscita. Se inserisci una password errata, l'autenticazione non dovrebbe riuscire.
Controlla le informazioni redis.
127.0.0.1:6379> INFO
Questo produrrà un lungo elenco di dati. Puoi limitare l'output passando Section come argomento. Es.
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. Esecuzione del benchmarking Redis
Esegui il benchmark con 15
connessioni parallele, per un totale di 10k
richieste, contro redis locali per testarne le prestazioni.
~> 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
Per ulteriori opzioni ed esempi, usa:
$ redis-benchmark --help
Conclusione
Siamo riusciti a installare e configurare Redis 6 in OpenSUSE Leap.