Valkey: Comenzando
Guía rápida para comenzar con Valkey
👋 ¡Bienvenido a la documentación de Stackhero!
Stackhero ofrece una solución Valkey cloud lista para usar que proporciona una serie de beneficios, incluyendo:
- Interfaz web UI
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 Valkey cloud hosting de Stackhero!
Valkey es una base de datos en memoria potente e increíblemente rápida, basada en Redis. A medida que Redis se alejó del modelo de código abierto, Valkey surgió de la comunidad y de varias empresas como una alternativa robusta de código abierto. Se integra perfectamente con las bibliotecas de Redis, lo que lo convierte en un reemplazo ideal.
Valkey es versátil y puede servir para múltiples propósitos: puede funcionar como un sistema de caché, una base de datos clave/valor, facilitar la clasificación de datos en tiempo real o actuar como una cola de publicación/suscripción similar a un sistema de eventos.
Para ayudarle a conectarse a una instancia de Valkey, hemos preparado algunos ejemplos de código. No dude en explorarlos en el siguiente repositorio de Git: https://github.com/stackhero-io/valkeyGettingStarted.
Usar Valkey con Ruby y Ruby on Rails
Configurar Valkey como sistema de caché para Ruby on Rails
Para comenzar, puede instalar la gema redis con este comando:
bundle add redis
A continuación, abra el archivo config/environments/production.rb e incluya esta línea:
config.cache_store = :redis_cache_store, { url: ENV["VALKEY_URL"] }
Luego deberá establecer la variable de entorno VALKEY_URL. Aquí tiene un ejemplo de cómo puede formatear la URL con su información:
VALKEY_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Por defecto, la caché solo está habilitada en el entorno de producción. Si desea probar la caché en desarrollo, modifique el archivo
config/environments/development.rbagregando la configuración anterior y establezcaconfig.action_controller.perform_caching = truepara habilitar la caché. Una buena manera de verificar que la caché funciona es iniciar una consola de Rails (usandobin/rails console) y probar la escritura conRails.cache.write("foo", "bar").
Para obtener más información detallada sobre la configuración de Valkey como sistema de caché para Ruby on Rails, puede consultar la documentación oficial de Rails aquí.
Configurar Valkey en Sidekiq
Sidekiq utilizará automáticamente el servidor Valkey configurado en la variable de entorno REDIS_URL.
Puede establecer la variable de entorno REDIS_URL con su información de la siguiente manera:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Para obtener más información sobre el uso de Sidekiq con Valkey, puede consultar la documentación oficial aquí.
Configurar Valkey en Resque
Resque utilizará automáticamente el servidor Valkey definido en la variable de entorno REDIS_URL.
Puede establecer la variable de entorno REDIS_URL con su información de la siguiente manera:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Para obtener información adicional sobre el uso de Resque con Valkey, puede consultar la documentación oficial aquí.
Gestionar sesiones PHP con Valkey
Puede usar el siguiente código para almacenar sesiones PHP en Stackhero para Valkey:
<?php
// Analizar la URL de Valkey
$valkey_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://{$valkey_url['host']}:{$valkey_url['port']}?auth={$valkey_url['pass']}&timeout=5");
// Iniciar la sesión
session_start();
?>
Mejorar la seguridad de Valkey
Mejorar la seguridad de su configuración de Valkey es crucial. Aquí hay dos medidas importantes que puede implementar para maximizar la seguridad.
Cifrar las comunicaciones con Valkey (TLS)
Por defecto, Valkey no cifra las comunicaciones. Sin embargo, en Stackhero, el cifrado TLS se proporciona de serie.
Para aprovechar esta función, simplemente configure su cliente Valkey para usar cifrado TLS y conéctese a su instancia utilizando el puerto <PORT_TLS>, en lugar del puerto no cifrado <PORT_CLEAR>.
La buena noticia es que no necesita preocuparse por configuraciones adicionales, hemos preparado todo para usted.
Proteger su Valkey contra ataques de fuerza bruta
Su instancia de Valkey está protegida con una contraseña fuerte, automáticamente predefinida por Stackhero. Si decide cambiarla, asegúrese de que la contraseña sea extremadamente compleja.
Valkey es rápido y, desafortunadamente, carece de protección integrada contra ataques de fuerza bruta. Un atacante podría intentar potencialmente hasta 150,000 combinaciones de contraseñas por segundo.
Para mitigar esto, las contraseñas deben tener al menos 16 caracteres (4.5231285e+74 posibilidades), y por defecto, establecemos una contraseña de 64 caracteres (9.61963e+111 posibilidades!).
Para una mayor seguridad y para contrarrestar eficazmente los intentos de fuerza bruta, es aconsejable configurar el firewall de Stackhero (accesible en la pestaña "Firewall") para restringir las conexiones solo a sus direcciones IP. ¡Este es un paso crítico que reforzará significativamente su seguridad!