En este tutorial vamos a aprender cómo instalar Redis 6 en OpenSUSE Leap 15.3.
Contenido relacionado
- Cómo instalar y configurar Redis 6 en FreeBSD 13
- Cómo instalar y configurar Redis 6 en Rocky Linux/Centos 8
- 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 OpenSUSE Leap actualizado
- Acceso a Internet
- Acceso raíz al servidor o usuario con acceso sudo
Tabla de contenido
- Actualice el servidor OpenSUSE Leap
- 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 Leap de OpenSUSE
Antes de continuar, asegúrese de que el servidor esté actualizado. Actualizaremos los repositorios y luego actualizaremos usando estos comandos:
sudo zypper ref
sudo zypper up -y
También asegurémonos de que vim esté instalado usando este comando, ya que lo usaremos más adelante:
sudo zypper in -y vim
2. Instalando redis
Redis 6 está disponible en los servidores OpenSUSE Leap predeterminados. Pero no es la última versión. Para obtener la última versión, agregue el repositorio de bases de datos usando este 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
Confirme el contenido del repositorio usando el 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
Luego actualice los repositorios usando este comando:
sudo zypper ref
Ahora instala 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
Use este comando para confirmar que el paquete redis está instalado:
~> 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.
Tras la instalación, noté que no se agregó ningún servicio systemd para administrar el redis. Vamos a crear un archivo systemd en esta ruta /etc/systemd/system/redis.service
usando este comando:
sudo vim /etc/systemd/system/redis.service
Luego agregue este contenido al archivo:
[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
Cree el archivo de configuración especificado /etc/redis/redis.conf copiando el archivo de muestra:
sudo cp /etc/redis/default.conf.example /etc/redis/redis.conf
Finalmente, actualice el permiso del archivo:
sudo chown redis.redis /etc/redis/redis.conf
Ahora que se ha creado el archivo de servicio, 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 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.
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 * -::*
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: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. 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.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
Para más opciones y ejemplos, use:
$ redis-benchmark --help
Conclusión
Hemos conseguido instalar y configurar Redis 6 en OpenSUSE Leap.