Redis®*: Comenzando
Guía rápida para comenzar con Redis
👋 ¡Bienvenido a la documentación de Stackhero!
Stackhero ofrece una solución Redis cloud lista para usar que proporciona una serie de beneficios, incluyendo:
- Interfaz web
Redis Commanderincluida.- Tamaño y transferencias de mensajes ilimitados.
- Actualizaciones sin esfuerzo con solo un clic.
- Rendimiento óptimo y seguridad robusta gracias a una VM privada y dedicada.
Ahorra tiempo y simplifica tu vida: ¡solo toma 5 minutos probar la solución de alojamiento Redis cloud de Stackhero!
Redis es una base de datos en memoria potente y extremadamente rápida que sirve para múltiples propósitos. Puede actuar como un sistema de caché, un almacén clave-valor, facilitar la clasificación de datos en tiempo real y funcionar como una cola de publicación-suscripción y sistema de eventos.
advertencia Redis ha cambiado su licencia y ya no es de código abierto. La comunidad, los desarrolladores y las empresas han creado un fork de Redis llamado Valkey, que es un reemplazo directo de Redis. Recomendamos usar Valkey en lugar de Redis.
Para ayudarle a comenzar, hemos compartido algunos ejemplos de código que demuestran cómo conectarse a una instancia de Redis. Puede encontrar estos ejemplos en el siguiente repositorio de GitHub: https://github.com/stackhero-io/redisGettingStarted.
Usar Redis con Ruby y Ruby on Rails
Configurar Redis como sistema de caché para Ruby on Rails
Para empezar, puede que desee instalar la gema "redis". Puede hacerlo ejecutando:
bundle add redis
A continuación, abra el archivo config/environments/production.rb y añada la siguiente línea:
config.cache_store = :redis_cache_store, { url: ENV['REDIS_URL'] }
Finalmente, defina la variable de entorno REDIS_URL. Aquí tiene una plantilla que puede usar reemplazando con sus detalles:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
advertencia Por defecto, el caché está habilitado solo en el entorno de producción. Si desea probar el caché durante el desarrollo, puede editar el archivo
config/environments/development.rb. Añada la configuración anterior e incluyaconfig.action_controller.perform_caching = truepara habilitar el caché. Una forma sencilla de verificar que el caché funciona es iniciar una consola de Rails (conbin/rails console) y probar escribiendoRails.cache.write("foo", "bar").
Para más detalles sobre la configuración de Redis como sistema de caché para Ruby on Rails, consulte la documentación oficial de Rails.
Configurar Redis para Sidekiq
Sidekiq utilizará automáticamente el servidor Redis especificado en la variable de entorno REDIS_URL.
Puede definir la variable de entorno REDIS_URL con su información específica de la siguiente manera:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Para más información sobre el uso de Sidekiq con Redis, consulte la documentación oficial de Sidekiq.
Configurar Redis para Resque
Resque, al igual que Sidekiq, utilizará el servidor Redis definido en la variable de entorno REDIS_URL.
Defina el REDIS_URL con sus detalles de la siguiente manera:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Para más información sobre el uso de Resque con Redis, por favor visite la documentación oficial de Resque.
Gestionar sesiones PHP con Redis
Puede usar el siguiente código para almacenar sesiones PHP en Stackhero para Redis:
<?php
// Analizar URL de Redis
$redis_url = parse_url('rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>');
// Configurar el manejador de sesiones
ini_set('session.save_handler', 'redis');
ini_set('session.save_path', "tls://{$redis_url['host']}:{$redis_url['port']}?auth={$redis_url['pass']}&timeout=5");
// Iniciar la sesión
session_start();
?>
Mejorar la seguridad de Redis
Para asegurar que su instancia de Redis sea segura, es crucial implementar ciertas medidas de seguridad.
Encriptar comunicaciones con Redis (TLS)
Por defecto, Redis no encripta las comunicaciones. Sin embargo, en Stackhero, hemos incorporado la encriptación TLS por defecto.
Para aprovechar esto, configure su cliente Redis para usar encriptación TLS y conéctese a su instancia a través del puerto <PORT_TLS>. Evite usar <PORT_CLEAR>, ya que no encripta los datos.
Lo mejor es que no hay nada más que deba hacer de su parte, nosotros nos hemos encargado de la configuración compleja.
Proteger Redis contra ataques de fuerza bruta
Su instancia de Redis está asegurada con una contraseña, que Stackhero establece automáticamente en un valor predeterminado muy seguro. Si elige cambiarla, asegúrese de seleccionar una contraseña extremadamente compleja.
Redis es muy eficiente pero carece de protecciones integradas contra ataques de fuerza bruta, permitiendo a un atacante potencialmente probar hasta 150,000 combinaciones de contraseñas por segundo.
Para contrarrestar este riesgo, imponemos una longitud mínima de contraseña de 16 caracteres (ofreciendo aproximadamente 4.5231285e+74 combinaciones). Por defecto, usamos una contraseña de 64 caracteres (ofreciendo aproximadamente 9.61963e+111 combinaciones).
Para una mayor seguridad y para reducir significativamente el riesgo de ataques de fuerza bruta, se recomienda encarecidamente configurar los ajustes de firewall de Stackhero (disponibles en la pestaña "Firewall") para limitar las conexiones estrictamente a sus direcciones IP. Este paso es esencial para mejorar su postura de seguridad.