Cómo instalar Redis Server en CentOS y sistemas basados ​​en Debian


Redis es un almacén de estructura de datos en memoria, de código abierto, de alto rendimiento y flexible (formato de valor clave), que se utiliza como base de datos, caché y agente de mensajes. Está escrito en ANSI C y se ejecuta en la mayoría, si no en todos, los sistemas operativos similares a Unix, incluido Linux (recomendado para implementación) sin dependencias externas.

Es rico en características, soporta múltiples lenguajes de programación y estructuras de datos, incluyendo cadenas, hashes, listas, conjuntos, conjuntos ordenados con consultas de rango, mapas de bits entre otros.

  • Supports most programming languages including C, Bash, Python, PHP, Node.js, Perl, Ruby just to mention but a few.
  • Has inherent replication, Lua scripting, LRU eviction, transactions as well as varying levels of on-disk persistence.
  • Provides high availability through Redis Sentinel and automatic partitioning via Redis Cluster.
  • Supports running atomic operations.
  • It works with an in-memory dataset to attain remarkable performance.
  • Supports trivial-to-setup master-slave asynchronous replication.
  • Supports automatic failover.
  • Enables you to save the dataset to disk infrequently for a given period of time, or by appending each command to a log.
  • Allows optional disabling of persistence.
  • Supports publish/subscribe messaging.
  • Also supports MULTI, EXEC, DISCARD and WATCH transactions and many more.
  1. A CentOS 7 Server and RHEL 7 Server with Minimal Install
  2. A Ubuntu Server or Debian Server with Minimal Install
  3. GCC compiler and libc

En este tutorial, proporcionaremos instrucciones sobre cómo instalar un servidor Redis desde la fuente (que es el método recomendado) en Linux. También mostraremos cómo configurar, administrar y proteger Redis. Dado que Redis sirve todos los datos de la memoria, le recomendamos que utilice un servidor VPS de alta memoria con esta guía.

Paso 1: Instalar el servidor de Redis desde la fuente

1. Primero instala las dependencias de compilación necesarias.

--------------- On CentOS / RHEL / Fedora --------------- 
# yum groupinstall "Development Tools"
# dnf groupinstall "Development Tools"

--------------- On Debian / Ubuntu --------------- 
$ sudo apt install build-essential

2. A continuación, descargue y compile la última versión de Redis estable utilizando la URL especial que siempre apunta al último Redis estable utilizando el comando wget.

$ wget -c http://download.redis.io/redis-stable.tar.gz
$ tar -xvzf redis-stable.tar.gz
$ cd redis-stable
$ make 
$ make test
$ sudo make install

3. Después de la compilación de Redis, el directorio src dentro de la distribución de Redis se rellena con los siguientes ejecutables que forman parte de Redis:

  • redis-server – redis server.
  • redis-sentinel – redis sentinel executable (monitoring and failover).
  • redis-cli – a CLI utility to interact with redis.
  • redis-benchmark – used to check redis performances.
  • redis-check-aof and redis-check-dump – useful in the rare event of corrupted data files.

Paso 2: Configurar Redis Server en Linux

4. A continuación, debe configurar redis para que un entorno de desarrollo sea administrado por el sistema init ( systemd para los fines de este tutorial) . Comience por crear los directorios necesarios para almacenar los archivos de configuración de redis y sus datos:

$ sudo mkdir /etc/redis
$ sudo mkdir -p /var/redis/

4. Luego, copie el archivo de configuración de redis de plantilla provisto, en el directorio que creó anteriormente.

$ sudo cp redis.conf /etc/redis/

5. Ahora abra el archivo de configuración y actualice algunas configuraciones de la siguiente manera.

$ sudo vi /etc/redis/redis.conf

6. A continuación, busque las siguientes opciones, luego cambie (o use) sus valores predeterminados de acuerdo con las necesidades de su entorno local.

port  6379				#default port is already 6379. 
daemonize yes				#run as a daemon
supervised systemd			#signal systemd
pidfile /var/run/redis.pid 		#specify pid file
loglevel notice				#server verbosity level
logfile /var/log/redis.log		#log file name
dir  /var/redis/			#redis directory

Paso 3: Crear un archivo de unidad Systemis Redis

7. Ahora necesita crear un archivo de unidad systemd para redis para controlar el daemon, ejecutando el siguiente comando.

$ sudo vi /etc/systemd/system/redis.service

Y añada la siguiente configuración:

[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
User=root
Group=root
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
Type=Forking

[Install]
WantedBy=multi-user.target

Guarde y cierre el archivo.

Paso 4: Administrar y probar el servidor Redis en Linux

8. Una vez que haya realizado todas las configuraciones necesarias, ahora puede iniciar el servidor Redis por ahora, habilitarlo para que se inicie automáticamente al iniciar el sistema; luego ver su estado de la siguiente manera.

$ sudo systemctl start redis
$ sudo systemctl enable redis
$ sudo systemctl status redis

9. A continuación, compruebe si toda la configuración de redis está funcionando bien. Para interactuar con el servidor redis, use el comando redis-cli . Después de conectarse al servidor, intente ejecutar algunos comandos.

$ redis-cli
Test connection to server using ping command:
127.0.0.1:6379> ping
Use the echo command to echo a given string:
127.0.0.1:6379> echo "Tecmint is testing Redis"
You can also set a key value using the set command like this:
127.0.0.1:6379> set mykey "Tecmint is testing Redis"
Now view the value of mykey:
127.0.0.1:6379> get mykey

10. Luego cierre la conexión con el comando exit y reinicie el servidor redis. Luego verifique si mykey todavía está almacenada en el servidor como se muestra a continuación:

127.0.0.1:6379> exit
$ sudo systemctl restart redis
$ redis-cli
127.0.0.1:6379> get mykey

11. Para eliminar una clave, use el comando de eliminar de la siguiente manera:

127.0.0.1:6379> del mykey
127.0.0.1:6379> get mykey

Paso 5: Asegurando Redis Server en Linux

12. Esta sección está dirigida a usuarios que pretenden utilizar un servidor redis conectado a una red externa como Internet.

  • block connections to the redis port in the system firewalled
  • set bind directive to loopback interface: 127.0.0.1
  • set requirepass option so that clients will be required to authenticate using the AUTH command.
  • setup SSL tunneling to encrypt traffic between Redis servers and Redis clients.

Para obtener más información de uso, ejecute el siguiente comando:

$ redis-cli -h

Puede encontrar más comandos de servidor y aprender a usar redis dentro de su aplicación en la página de inicio de Redis: https://redis.io/

En este tutorial, mostramos cómo instalar, configurar, administrar y proteger Redis en Linux. Para compartir cualquier pensamiento, utilice el formulario de comentarios a continuación.