Instalar Redis en Linux: acceso, memoria y persistencia

Índice de contenido
  1. Elige el origen del paquete
  2. Mantén una escucha local
  3. Autentica sin publicar la contraseña
  4. Haz una prueba de datos con vencimiento
  5. Decide qué hacer cuando se agote la memoria
  6. Persistencia y respaldo cumplen funciones distintas
  7. Observa sin bloquear innecesariamente
  8. Preguntas frecuentes
    1. ¿Redis siempre pierde todo al reiniciar?
    2. ¿Una contraseña hace seguro un puerto público?
    3. ¿Debo renombrar comandos para proteger la base?
  9. En pocas palabras
  10. Conclusión
  11. Fuentes y documentación

Redis utiliza estructuras de datos en memoria y puede servir como caché, almacén de sesiones y componente de otros servicios. Elegir su configuración depende de lo que sucedería si desaparecieran las claves o se rechazaran nuevas escrituras.

Esta guía utiliza el paquete de una distribución Ubuntu o Debian mantenida, con una aplicación local. No abre 6379 a internet ni presupone que todas las ramas y modalidades de Redis tienen los mismos requisitos o licencia.

Elige el origen del paquete

sudo apt update
apt-cache policy redis-server
sudo apt install redis-server
sudo systemctl enable --now redis-server
redis-server --version
redis-cli PING

Antes de añadir un repositorio externo, verifica qué versión requiere tu aplicación y qué actualizaciones ofrece la distribución. Evita mezclar fuentes o reemplazar una instalación existente sin respaldar su configuración y datos.

PONG confirma una respuesta del servidor. No demuestra que tus datos persistan, que un usuario tenga permisos adecuados o que la red esté restringida.

Mantén una escucha local

Revisa /etc/redis/redis.conf y sus inclusiones. Para una práctica local, comprueba estas directivas:

bind 127.0.0.1 -::1
protected-mode yes

Comprueba también interfaces efectivas con ss. El modo protegido es una defensa adicional, no un sustituto de firewall y autenticación.

Si una aplicación está en otra máquina o contenedor, loopback puede no representar la misma red. Diseña una ruta privada con autenticación y protección del transporte. No cambies bind a todas las interfaces solo para hacer desaparecer un error de conexión.

Autentica sin publicar la contraseña

Para una práctica compatible con clientes que usan contraseña del usuario predeterminado, sustituye el marcador en la configuración:

requirepass SUSTITUYE_POR_UNA_CLAVE_UNICA

Guarda el archivo con acceso limitado al servicio y a administradores. En versiones con ACL, define para producción usuarios y permisos de comandos y claves según la aplicación; requirepass por sí solo no separa funciones.

Después de revisar el archivo:

sudo systemctl restart redis-server
sudo ss -ltnp '( sport = :6379 )'
redis-cli --askpass PING

--askpass solicita la clave sin incluirla en el argumento del proceso. Sin autenticar, una nueva conexión debería recibir el rechazo correspondiente. Los comandos de esta sección asumen la cuenta predeterminada; con una ACL propia debes indicar también el usuario.

Haz una prueba de datos con vencimiento

redis-cli --askpass SET practica:saludo "Redis disponible" EX 60
redis-cli --askpass GET practica:saludo
redis-cli --askpass TTL practica:saludo

La clave debe devolver el valor y un tiempo restante. Cuando venza, GET dejará de encontrarla. Esta prueba no mide el rendimiento de tu aplicación ni verifica su tolerancia a fallos.

Decide qué hacer cuando se agote la memoria

Un ejemplo de laboratorio, que debes dimensionar:

maxmemory 256mb
maxmemory-policy noeviction

Con noeviction, determinadas escrituras fallarán al alcanzar el límite, en vez de expulsar claves para liberar espacio. La aplicación debe manejar esos errores.

Una caché reconstruible puede utilizar otra política de expulsión, como allkeys-lru, después de evaluar el patrón de acceso. Aplicarla a sesiones o colas sin estudiar su funcionamiento puede perder información necesaria.

maxmemory no equivale a un límite estricto de toda la RAM del proceso. Reserva margen para estructuras internas, buffers y operaciones de persistencia; observa también el consumo del sistema.

Persistencia y respaldo cumplen funciones distintas

RDB guarda instantáneas y AOF registra operaciones con la política configurada. La pérdida posible de datos depende de cuándo se guarda o sincroniza y de cómo ocurre el fallo.

Para estudiar AOF, revisa en la documentación de tu versión:

appendonly yes
appendfsync everysec

No actives o cambies persistencia en una base importante como un experimento. Identifica archivos, espacio y procedimiento antes, y prueba recuperación en otra instancia. Copiar solo un archivo elegido a ojo puede omitir partes del formato AOF actual.

La persistencia en el mismo servidor no protege de todas las averías o borrados. Conserva copias consistentes fuera del equipo según el valor de los datos.

Observa sin bloquear innecesariamente

redis-cli --askpass INFO memory
redis-cli --askpass INFO persistence
redis-cli --askpass --scan --pattern 'practica:*'

SCAN recorre de forma incremental y sigue teniendo costo. Puede devolver duplicados durante una iteración y no es una instantánea si cambian las claves. Evita KEYS * como revisión rutinaria en una base grande.

Si Redis no arranca, revisa journalctl y el puerto ocupado. Identifica la instancia antes de detener procesos; un pkill general puede apagar otro servicio válido.

Preguntas frecuentes

¿Redis siempre pierde todo al reiniciar?

Depende de la persistencia configurada y del estado de sus archivos. No lo asumas en ningún sentido: realiza una recuperación de prueba con tu configuración.

¿Una contraseña hace seguro un puerto público?

No. Restringe la red, protege el transporte y aplica permisos de usuarios y comandos. La autenticación no cifra por sí misma la conexión.

¿Debo renombrar comandos para proteger la base?

Revisa las ACL y recomendaciones de la versión actual. Separar identidades y permisos suele ofrecer un control más claro que mantener una lista de comandos renombrados.

En pocas palabras

Redis necesita una política acorde con sus datos: acceso local o protegido, permisos de comandos, memoria y recuperación. La configuración de una caché puede ser inadecuada para sesiones, colas u otra información importante.

Conclusión

Define qué puede perderse antes de ajustar memoria o persistencia. Prueba conexión y recuperación con la configuración elegida y revisa consumo real, errores y disponibilidad de las copias.

Para continuar, revisa Cómo instalar Ubuntu desde una USB: paso a paso y Cómo instalar Docker en Ubuntu 24.04: guía práctica paso a paso.

Fuentes y documentación

Documentación de redis.io.

Documentación de redis.io.

Documentación de redis.io.

Documentación de redis.io.

Documentación de redis.io.

Documentación de redis.io.

Subir

Descubre más de Sergio Caballero

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Continuar leyendo