Redis è un archivio di strutture dati in memoria gratuito e open source utilizzato come broker di messaggi e cache di database. Puoi usarlo con soluzioni di streaming come Apache Kafka per elaborare e analizzare i dati in tempo reale con una latenza inferiore al millisecondo. Redis supporta molte strutture di dati tra cui hash, stringhe, hyperloglog, bitmap, indici geospaziali, elenchi ordinati e altro ancora. È popolare grazie all'ampio supporto linguistico, all'elevata disponibilità e al partizionamento automatico.
In questo post, ti mostreremo come installare e configurare Redis 6 su Debian 11.
Prerequisiti
- Un server che esegue Debian 11.
- Sul server è configurata una password di root.
Installa Redis 6 su Debian 11
L'ultima versione di Redis non è inclusa nel repository predefinito di Debian 11. Quindi dovrai installarlo dal repository ufficiale di Redis.
Innanzitutto, installa tutte le dipendenze richieste utilizzando il seguente comando:
apt-get install wget curl gnupg -y
Quindi, scarica e aggiungi la chiave GPG usando il seguente comando:
curl https://packages.redis.io/gpg | apt-key add -
Quindi, aggiungi il repository ufficiale Redis usando il seguente comando:
echo "deb https://packages.redis.io/deb $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/redis.list
Quindi, aggiorna la cache del repository e installa Redis usando il seguente comando:
apt-get update -y
apt-get install redis-server -y
Una volta installato Redis, verifica l'installazione di Redis utilizzando il seguente comando:
apt-cache policy redis-server
Dovresti vedere le informazioni sul pacchetto Redis nel seguente output:
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
Gestisci servizio Redis
Puoi gestire il servizio Redis utilizzando il systemd.
Per avviare il servizio Redis, eseguire il comando seguente:
systemctl start redis-server
Per abilitare l'avvio del servizio Redis al riavvio del sistema, eseguire il comando seguente:
systemctl enable redis-server
Per verificare lo stato del servizio Redis, eseguire il comando seguente:
systemctl status redis-server
Dovresti vedere il seguente output:
? 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.
Per impostazione predefinita, Redis è in ascolto sulla porta 6379. Puoi verificarlo con il seguente comando:
ss -antpl | grep redis
Otterrai il seguente output:
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))
Una volta terminato, puoi procedere al passaggio successivo.
Configura Redis
Per impostazione predefinita, Redis ascolta localhost. Se desideri connettere Redis dall'host remoto, dovrai consentire a Redis per la connessione remota.
Per farlo, modifica il file di configurazione di Redis utilizzando il tuo editor preferito:
nano /etc/redis/redis.conf
Commenta la seguente riga:
#bind 127.0.0.1 -::1
Quindi, imposta la password Redis come mostrato di seguito:
requirepass securepassword
Quindi, cambia la seguente riga:
appendonly yes appendfilename "appendonly.aof"
Salva e chiudi il file, quindi riavvia il servizio Redis per applicare le modifiche:
systemctl restart redis-server
Una volta terminato, puoi procedere al passaggio successivo.
Connetti all'istanza Redis
È possibile utilizzare l'utilità della riga di comando redis-cli per connettere il server Redis dal computer locale o remoto.
Esegui il comando seguente per connetterti all'istanza Redis:
redis-cli
Una volta connesso, otterrai la seguente shell:
127.0.0.1:6379>
Ora, autentica Redis utilizzando la password come mostrato di seguito:
127.0.0.1:6379> auth securepassword
Quindi, controlla il server usando il seguente comando:
127.0.0.1:6379> INFO Server
Otterrai le seguenti informazioni:
# 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
Ora esci dall'istanza Redis usando il seguente comando:
127.0.0.1:6379> exit
Si consiglia di confrontare il Redis per testarne le prestazioni.
Eseguire il comando seguente per testare Redis con 10 connessioni parallele, per un totale di 2k richieste:
redis-benchmark -h 127.0.0.1 -p 6379 -n 2000 -c 10 -a securepassword
Otterrai il seguente output:
====== 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
Per ulteriori opzioni della riga di comando, esegui il comando seguente:
redis-benchmark --help
Conclusione
Nel post precedente, abbiamo spiegato come installare e configurare Redis 6 sul server Debian 11. È ora possibile implementare Redis in un ambiente di produzione e utilizzarlo come broker di messaggi o per memorizzare nella cache i dati per un recupero più rapido. Sentiti libero di chiedermi se hai domande.