Redis es un almacén de estructura de datos en memoria de código abierto (licencia BSD). Se puede utilizar como una base de datos , caché y intermediario de mensajes. Admite diferentes tipos de estructuras de datos abstractos, como cadenas, hashes, listas, conjuntos, conjuntos ordenados, hiperlogs, mapas de bits, flujos e índices espaciales.
Esta publicación te explica cómo instalar Redis en CentOS 7/RHEL 7 y Ubuntu 18.04 /
Instalar Redis en CentOS 7/RHEL 7 y Ubuntu 18.04/Ubuntu 16.04
Paquete Redis disponible en repositorio EPEL para CentOS/RHEL y el repositorio del sistema operativo en Ubuntu es bastante antiguo. Por lo tanto, instalaremos la última versión de Redis (v5.0.2) desde el repositorio de Remi. y chris lea PPA en CentOS/RHEL y Ubuntu respectivamente.
Configurar repositorio
Comience a agregar repositorios según los sistemas operativos que esté utilizando.
### CentOS 7 / RHEL 7 ### rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -ivh https://rpms.remirepo.net/enterprise/remi-release-7.rpm # for RHEL only subscription-manager repos --enable=rhel-7-server-optional-rpms ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo add-apt-repository ppa:chris-lea/redis-server sudo apt update
Instalar Redis
Instale el paquete Redis escribiendo el siguiente comando en la terminal.
### CentOS 7 / RHEL 7 ### yum install -y redis --enablerepo=remi ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo apt install -y redis-server
Ahora, inicie el servidor Redis y habilítelo para que se inicie automáticamente al arrancar el sistema.
### CentOS 7 / RHEL 7 ### systemctl start redis systemctl enable redis ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo systemctl start redis-server sudo systemctl enable redis-server
Ingrese el siguiente comando para verificar el estado del servicio Redis.
### CentOS 7 / RHEL 7 ### systemctl status redis ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo systemctl status redis-server
Debería ver algo como a continuación.
● 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 Wed 2018-11-28 06:57:30 UTC; 14s ago Main PID: 1898 (redis-server) CGroup: /system.slice/redis.service └─1898 /usr/bin/redis-server 127.0.0.1:6379 Nov 28 06:57:30 redisc7 systemd[1]: Starting Redis persistent key-value database... Nov 28 06:57:30 redisc7 systemd[1]: Started Redis persistent key-value database.
Verificar la instalación de Redis
Verifique que Redis se esté ejecutando con redis-cli
(interfaz de línea de comandos de Redis).
redis-cli ping
Si Redis se está ejecutando, devolverá un PONG.
PONG
Ahora tiene Redis ejecutándose en su servidor.
Configurar acceso remoto a Redis (opcional)
De forma predeterminada, Redis no permite conexiones remotas. Puede conectarse a Redis solo desde 127.0.0.1 (localhost), la máquina donde se ejecuta Redis.
Realice los pasos a continuación solo si desea conectarse a su servidor Redis desde hosts remotos.
Edite el archivo de configuración de Redis.
### CentOS 7 / RHEL 7 ### vi /etc/redis.conf ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo nano /etc/redis/redis.conf
Encuentra la línea que comienza con bind 127.0.0.1
y agregue la dirección IP de su servidor después de 127.0.0.1. Luego guarde y cierre el archivo.
bind 127.0.0.1 192.168.1.10
Asegúrese de reemplazar 192.168.1.10 con su dirección IP.
Reinicie el servidor Redis para que los cambios surtan efecto.
### CentOS 7 / RHEL 7 ### systemctl restart redis ### Ubuntu 18.04 / Ubuntu 16.04 ### systemctl restart redis-server
Utilice el siguiente netstat
comando para verificar que el servidor Redis está escuchando en la interfaz de su servidor en el puerto 6379.
netstat -antup | grep -i 6379
Debería ver algo como a continuación.
tcp 0 0 10.142.0.10:6379 0.0.0.0:* LISTEN 2081/redis-server 1
LEER :Comando netstat no encontrado en CentOS 7/RHEL 7 – Solución rápida
LEER :Comando netstat no encontrado en Debian/Ubuntu/Linux Mint – Solución rápida
Cortafuegos (CentOS/RHEL)
Deberá agregar una regla de firewall que permita el tráfico desde máquinas remotas al servidor Redis en el puerto TCP 6379 en caso de que haya habilitado el acceso remoto.
Ejecute los siguientes comandos en la terminal
firewall-cmd --permanent --add-port=6379/tcp firewall-cmd --reload
Verificar acceso remoto
Para verificar que el acceso remoto esté configurado correctamente, puede intentar hacer ping al servidor Redis desde su máquina remota usando redis-cli
(interfaz de línea de comandos).
redis-cli -h <REDIS_IP_ADDRESS> ping
El comando debería devolver un PONG.
PONG
Configurar la replicación maestro/esclavo de Redis
En el nodo maestro
Paso 1: Instalar Redis
Paso 2:configurar el acceso remoto
En el nodo esclavo
Paso 1: Instalar Redis
Configurar esclavo
Configure una instancia esclava agregando la replicaof
directiva en redis.conf
para configurar la replicación.
### CentOS 7 / RHEL 7 ### vi /etc/redis.conf ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo nano /etc/redis/redis.conf
Vuelva a reemplazar 192.168.1.10 con la dirección IP del nodo maestro.
replicaof 192.168.1.10 6379
Reinicie el servicio.
### CentOS 7 / RHEL 7 ### systemctl restart redis ### Ubuntu 18.04 / Ubuntu 16.04 ### systemctl restart redis-server
Verificar replicación maestro/esclavo de Reds
Pruebe que la replicación funciona. En su nodo maestro, ejecute redis-cli y ejecute el comando set 'name' Raj
.
redis-cli 127.0.0.1:6379> set 'name' Raj
Salida:
OK
Salga del indicador de redis-cli escribiendo exit o presionando Ctrl-C.
Luego, ejecute redis-cli en el nodo esclavo y ejecute get 'name'
, que debería devolver el mismo valor que el maestro.
redis-cli 127.0.0.1:6379> get 'name'
Salida:
"Raj"
Este resultado confirma que la configuración de replicación maestro/esclavo funciona correctamente.
Para obtener más información sobre cómo usar Redis, visite la documentación oficial de Redis. página.
Eso es todo.