En este tutorial vamos a aprender cómo instalar Redis 6 en Rocky Linux/Centos 8.
Contenido relacionado
- Cómo instalar y configurar Redis 6 en Fedora 34
- Cómo ejecutar Redis 6 con Docker y Docker-Compose
- Cómo instalar y configurar Postgres 14 en Fedora 34
- Cosas que hacer en una nueva instalación de escritorio de Fedora 34
Requisitos
Para seguir, asegúrese de tener:
- Un servidor Rocky Linux/Centos 8 actualizado
- Acceso a Internet
- Acceso raíz al servidor o usuario con acceso sudo
Tabla de contenido
- Actualizar el servidor Rocky Linux/Centos 8
- Instalación de Redis
- Configuración de Redis
- Conectar y realizar operaciones básicas en Redis
- Realización de Benchmark de Redis
1. Actualice el servidor Rocky Linux/Centos 8
Antes de continuar, asegúrese de que el servidor esté actualizado con este comando:
sudo dnf -y update
También asegurémonos de que vim esté instalado usando este comando, ya que lo usaremos más adelante:
sudo dnf install -y vim
2. Instalando redis
Redis 6 no está disponible en los servidores Rocky Linux/Centos 8 predeterminados. Usaremos la versión remi para instalar el módulo Redis que nos permitirá instalar redis 6.
Habilite el repositorio de Remi con este comando:
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
Luego liste redis usando esto:
$ sudo dnf module list redis
Last metadata expiration check: 0:02:05 ago on Fri 29 Oct 2021 08:08:41 PM UTC.
Rocky Linux 8 - AppStream
Name Stream Profiles Summary
redis 5 [d] common [d] Redis persistent key-value database
redis 6 common [d] Redis persistent key-value database
Remi's Modular repository for Enterprise Linux 8 - x86_64
Name Stream Profiles Summary
redis remi-5.0 common [d] Redis persistent key-value database
redis remi-6.0 common [d] Redis persistent key-value database
redis remi-6.2 common [d] Redis persistent key-value database
Habilitar redis 6.2
sudo dnf module enable redis:remi-6.2 -y
Instalar redis
sudo dnf install redis
Use este comando para confirmar que el paquete redis está instalado:
$ rpm -qi redis
Name : redis
Version : 6.2.6
Release : 1.el8.remi
Architecture: x86_64
Install Date: Fri 29 Oct 2021 08:14:06 PM UTC
Group : Applications/Databases
Size : 4522111
License : BSD
Signature : RSA/SHA256, Mon 04 Oct 2021 12:34:26 PM UTC, Key ID 555097595f11735a
Source RPM : redis-6.2.6-1.el8.remi.src.rpm
Build Date : Mon 04 Oct 2021 12:28:08 PM UTC
Build Host : builder.remirepo.net
Relocations : (not relocatable)
Packager : Remi Collet
Vendor : Remi's RPM repository <https://rpms.remirepo.net/>
URL : http://redis.io
Bug URL : https://forum.remirepo.net/
Summary : A persistent key-value database
Description :
Redis is an advanced key-value store. It is often referred to as a data
structure server since keys can contain strings, hashes, lists, sets and
sorted sets.
You can run atomic operations on these types, like appending to a string;
incrementing the value in a hash; pushing to a list; computing set
intersection, union and difference; or getting the member with highest
ranking in a sorted set.
In order to achieve its outstanding performance, Redis works with an
in-memory dataset. Depending on your use case, you can persist it either
by dumping the dataset to disk every once in a while, or by appending
each command to a log.
Redis also supports trivial-to-setup master-slave replication, with very
fast non-blocking first synchronization, auto-reconnection on net split
and so forth.
Other features include Transactions, Pub/Sub, Lua scripting, Keys with a
limited time-to-live, and configuration settings to make Redis behave like
a cache.
You can use Redis from most programming languages also.
Ahora que el servicio ha sido instalado, comencemos con este comando:
sudo systemctl start redis
Habilite el servicio para que se inicie al arrancar:
$ sudo systemctl enable redis
Created symlink /etc/systemd/system/multi-user.target.wants/redis.service → /usr/lib/systemd/system/redis.service.
Después de que se inicie el servicio, use este comando para verificar el estado del servicio:
$ sudo systemctl status redis
● redis.service - Redis persistent key-value database
Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/redis.service.d
└─limit.conf
Active: active (running) since Fri 2021-10-29 20:16:17 UTC; 25s ago
Main PID: 62643 (redis-server)
Status: "Ready to accept connections"
Tasks: 5 (limit: 23168)
Memory: 7.3M
CGroup: /system.slice/redis.service
└─62643 /usr/bin/redis-server 127.0.0.1:6379
Oct 29 20:16:17 ip-10-2-40-54.us-west-2.compute.internal systemd[1]: Starting Redis persistent key-v>
Oct 29 20:16:17 ip-10-2-40-54.us-west-2.compute.internal systemd[1]: Started Redis persistent key-va>
El Active: active (running)
significa que el servicio se ha iniciado correctamente.
3. Configuración de Redis
El archivo de configuración de redis se encuentra en esta ruta /etc/redis/redis.conf
. En esta sección, vamos a actualizar el archivo de configuración de redis para permitir el acceso remoto, establecer una contraseña de autenticación, agregar un archivo pid y configurar el almacenamiento persistente para la recuperación.
Edite el archivo de configuración de redis usando esto:
sudo vim /etc/redis/redis.conf
Para permitir el acceso remoto a la instancia de redis, vincule redis a 0.0.0.0 usando esta línea:
bind 0.0.0.0
Para establecer una contraseña en redis, use esto:
requirepass j2GfJuLFR8
Para agregar un archivo pid a redis:
pidfile /var/run/redis/redis-server.pid
Configure el almacenamiento persistente para la recuperación cambiando el valor appendonly a sí
appendonly yes
appendfilename "appendonly.aof"
Reinicie el servicio Redis para aplicar los cambios:
sudo systemctl restart redis
4. Conexión y realización de operaciones básicas en Redis
Si tiene un servicio de firewalld activo, permita el puerto 6379
sudo firewall-cmd --add-port=6379/tcp --permanent
sudo firewall-cmd --reload
Conexión a redis localmente:
$ redis-cli
Para autenticar:
127.0.0.1:6379> auth j2GfJuLFR8
OK
Deberías recibir OK
en la salida. Si ingresa una contraseña incorrecta, la autenticación debería fallar.
Verifique la información de redis.
127.0.0.1:6379> INFO
Esto generará una larga lista de datos. Puede limitar la salida pasando Sección como argumento. Por ejemplo
127.0.0.1:6379> INFO Server # Server redis_version:6.2.6 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:b0cb03c693a4c6cc redis_mode:standalone os:Linux 4.18.0-305.3.1.el8_4.x86_64 x86_64 arch_bits:64 multiplexing_api:epoll atomicvar_api:c11-builtin gcc_version:8.4.1 process_id:62643 process_supervised:systemd run_id:668853b6d043e64d7af95ab586c9aca9d6b8f49a tcp_port:6379 server_time_usec:1635538653706020 uptime_in_seconds:76 uptime_in_days:0 hz:10 configured_hz:10 lru_clock:8148701 executable:/usr/bin/redis-server config_file:/etc/redis/redis.conf io_threads_active:0
5. Realización de evaluación comparativa de Redis
Ejecute el punto de referencia con 15
conexiones paralelas, por un total de 10k
solicitudes, contra redes locales para probar su rendimiento.
$ redis-benchmark -h 127.0.0.1 -p 6379 -n 10000 -c 15 -a j2GfJuLFR8
====== PING_INLINE ======
10000 requests completed in 0.23 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.055 milliseconds (cumulative count 2)
50.000% <= 0.127 milliseconds (cumulative count 5509)
75.000% <= 0.159 milliseconds (cumulative count 7514)
..........
99.940% <= 0.503 milliseconds (cumulative count 9994)
100.000% <= 0.607 milliseconds (cumulative count 10000)
Summary:
throughput summary: 74074.07 requests per second
latency summary (msec):
avg min p50 p95 p99 max
0.159 0.072 0.151 0.239 0.279 0.567
Para más opciones y ejemplos, use:
$ redis-benchmark --help
Conclusión
Hemos logrado instalar y configurar Redis 6 en Rocky Linux/Centos 8.