Cómo instalar y configurar Redis 6.0 en Debian 11

Cómo instalar y configurar Redis 6.0 en Debian 11

Redis es un almacén de estructura de datos en memoria gratuito y de código abierto que se utiliza como intermediario de mensajes y caché de base de datos. Puede usarlo con soluciones de transmisión como Apache Kafka para procesar y analizar datos en tiempo real con una latencia inferior al milisegundo. Redis admite muchas estructuras de datos, incluidos hashes, cadenas, hiperloglogs, mapas de bits, índices geoespaciales, listas ordenadas y más. Es popular debido a su amplio soporte de idiomas, alta disponibilidad y partición automática.

En esta publicación, le mostraremos cómo instalar y configurar Redis 6 en Debian 11.

requisitos previos

  • Un servidor que ejecuta Debian 11.
  • Una contrase√Īa de root est√° configurada en el servidor.

Instale Redis 6 en Debian 11

La √ļltima versi√≥n de Redis no est√° incluida en el repositorio predeterminado de Debian 11. Por lo tanto, deber√° instalarlo desde el repositorio oficial de Redis.

Primero, instale todas las dependencias requeridas usando el siguiente comando:

apt-get install wget curl gnupg -y

A continuación, descargue y agregue la clave GPG con el siguiente comando:

curl https://packages.redis.io/gpg | apt-key add -

Luego, agregue el repositorio oficial de Redis usando el siguiente comando:

echo "deb https://packages.redis.io/deb $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/redis.list

Luego, actualice el caché del repositorio e instale Redis usando el siguiente comando:

apt-get update -y
apt-get install redis-server -y

Una vez que Redis esté instalado, verifique la instalación de Redis usando el siguiente comando:

apt-cache policy redis-server

Debería ver la información del paquete Redis en el siguiente resultado:

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

Administrar el servicio Redis

Puede administrar el servicio Redis usando systemd.

Para iniciar el servicio Redis, ejecute el siguiente comando:

systemctl start redis-server

Para permitir que el servicio Redis se inicie al reiniciar el sistema, ejecute el siguiente comando:

systemctl enable redis-server

Para verificar el estado del servicio Redis, ejecute el siguiente comando:

systemctl status redis-server

Debería ver el siguiente resultado:

? 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.

De forma predeterminada, Redis escucha en el puerto 6379. Puede verificarlo con el siguiente comando:

ss -antpl | grep redis

Obtendr√° el siguiente resultado:

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 vez que haya terminado, puede continuar con el siguiente paso.

Configurar Redis

De forma predeterminada, Redis escucha el host local. Si desea conectar Redis desde el host remoto, deberá permitir Redis para la conexión remota.

Para hacerlo, edite el archivo de configuración de Redis usando su editor favorito:

nano /etc/redis/redis.conf

Comenta la siguiente línea:

#bind 127.0.0.1 -::1

A continuaci√≥n, configure la contrase√Īa de Redis como se muestra a continuaci√≥n:

requirepass securepassword

A continuación, cambie la siguiente línea:

appendonly yes
appendfilename "appendonly.aof"

Guarde y cierre el archivo, luego reinicie el servicio Redis para aplicar los cambios:

systemctl restart redis-server

Una vez que haya terminado, puede continuar con el siguiente paso.

Conectarse a la instancia de Redis

Puede usar la utilidad de línea de comandos redis-cli para conectar el servidor Redis desde la máquina local o remota.

Ejecute el siguiente comando para conectarse a la instancia de Redis:

redis-cli

Una vez que esté conectado, obtendrá el siguiente shell:

127.0.0.1:6379>

Ahora, autentique Redis usando la contrase√Īa como se muestra a continuaci√≥n:

127.0.0.1:6379> auth securepassword

A continuación, verifique el servidor usando el siguiente comando:

127.0.0.1:6379> INFO Server

Obtendrá la siguiente información:

# 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

Ahora, salga de la instancia de Redis usando el siguiente comando:

127.0.0.1:6379> exit

Se recomienda comparar Redis para probar su rendimiento.

Ejecute el siguiente comando para probar Redis con 10 conexiones paralelas, para un total de 2k solicitudes:

redis-benchmark -h 127.0.0.1 -p 6379 -n 2000 -c 10 -a securepassword

Obtendr√° el siguiente resultado:

====== 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

Para obtener más opciones de línea de comandos, ejecute el siguiente comando:

redis-benchmark --help

Conclusión

En la publicación anterior, explicamos cómo instalar y configurar Redis 6 en el servidor Debian 11. Ahora puede implementar Redis en un entorno de producción y usarlo como intermediario de mensajes o para almacenar datos en caché en la memoria para una recuperación más rápida. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *