Valkey: Uso con Ruby
Cómo conectar Valkey con Ruby
👋 ¡Bienvenido a la documentación de Stackhero!
Stackhero ofrece una solución Valkey en la nube lista para usar que proporciona numerosas ventajas, entre ellas:
- Interfaz web Redis Commander incluida.
- Tamaño y transferencia de mensajes ilimitados.
- Actualizaciones sencillas con solo un clic.
- Rendimiento óptimo y seguridad reforzada gracias a una infraestructura privada y dedicada.
Ahorre tiempo y simplifique su trabajo: solo necesita 5 minutos para probar la solución de Valkey cloud hosting de Stackhero.
Valkey es una base de datos en memoria de código abierto diseñada para ofrecer un rendimiento excepcional y una gran flexibilidad. Nacida como un fork de Redis tras la adopción de una licencia más restrictiva por parte de este último, Valkey proporciona una alternativa completamente open source. Ofrece compatibilidad total con las librerías de Redis, lo que la convierte en un excelente reemplazo directo para proyectos que anteriormente dependían de Redis.
A menudo clasificada como una base de datos NoSQL, Valkey admite una amplia variedad de estructuras de datos como cadenas (strings), hashes, listas, conjuntos (sets) y conjuntos ordenados (sorted sets), entre otros. Gracias a sus operaciones de alta velocidad y su capacidad para gestionar grandes volúmenes de datos, Valkey se ha convertido en una opción popular para casos de uso como caché, analítica en tiempo real, mensajería y mucho más.
Valkey se integra fácilmente con Ruby y Ruby on Rails, mejorando el rendimiento, la escalabilidad y la flexibilidad. Los desarrolladores de Ruby pueden aprovechar Valkey para implementar funcionalidades como caché, gestión de sesiones, procesamiento de datos en tiempo real y gestión de tareas en segundo plano, entre otras.
A continuación, se muestran algunos de los usos más habituales de Valkey con Ruby y Ruby on Rails:
-
Caché: Valkey puede actuar como una capa de caché en aplicaciones Rails, acelerando los tiempos de respuesta y reduciendo la carga sobre la base de datos.
-
Procesamiento de tareas en segundo plano: Valkey puede funcionar como backend para librerías populares de procesamiento de tareas en segundo plano como Sidekiq y Resque, mejorando el rendimiento y la fiabilidad de las tareas en aplicaciones Rails.
-
Funcionalidades en tiempo real: La funcionalidad Pub/Sub de Valkey permite a las aplicaciones Rails ofrecer características en tiempo real como notificaciones, sistemas de chat y analítica en tiempo real, facilitando el intercambio rápido y eficiente de mensajes entre los componentes de la aplicación.
Stackhero ofrece una solución Ruby cloud lista para usar que proporciona numerosas ventajas, entre ellas:
- Despliegue su aplicación en segundos con un simple
git push.- Utilice su propio nombre de dominio y benefíciese de la configuración automática de certificados HTTPS para una mayor seguridad.
- Disfrute de total tranquilidad con copias de seguridad automáticas, actualizaciones con un solo clic y una tarificación sencilla, transparente y predecible.
- Obtenga el mejor rendimiento y una seguridad robusta gracias a una infraestructura privada y dedicada.
Ahorre tiempo y simplifique su vida: solo necesita 5 minutos para probar la solución de alojamiento Ruby cloud de Stackhero.
Configurar Valkey como sistema de caché para Ruby on Rails
Para configurar Valkey como sistema de caché en Ruby on Rails, siga estos pasos:
- Instale la gema
redis:
bundle add redis
- Edite el archivo
config/environments/production.rby añada la siguiente configuración:
config.cache_store = :redis_cache_store, { url: ENV['VALKEY_URL'] }
- Defina la variable de entorno
VALKEY_URL. Utilice una URL con el siguiente formato, sustituyendo<yourPassword>y<XXXXXX>por sus credenciales:
VALKEY_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Para más detalles sobre cómo configurar Valkey como sistema de caché para Ruby on Rails, puede consultar la documentación oficial de Rails aquí.
Configurar Valkey con Sidekiq
Sidekiq utilizará automáticamente el servidor Valkey definido por la variable de entorno REDIS_URL.
Puede establecer la variable de entorno REDIS_URL de la siguiente manera, simplemente sustituyendo <password> y <XXXXXX> por su información:
REDIS_URL="rediss://default:<password>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Por defecto, la configuración de Sidekiq no contempla tolerancia ante interrupciones de red. Para mejorar esto, le recomendamos modificar la configuración del cliente Sidekiq en config/initializers/sidekiq.rb para aumentar la estabilidad:
# Archivo config/initializers/sidekiq.rb
Sidekiq.configure_client do |config|
config.redis = {
network_timeout: 5, # Establece el timeout en 5 segundos
pool_timeout: 5, # Establece el timeout en 5 segundos
reconnect_attempts: Array.new(240, 0.5) # Intenta reconectar 240 veces, cada 0,5 segundos (120 segundos/2 minutos en total) antes de lanzar un error
}
end
Esta configuración garantiza que, si su servidor Valkey queda inaccesible, el cliente intentará reconectarse durante 2 minutos antes de informar de un error. Esto da tiempo, por ejemplo, a que el servidor Valkey se reinicie. Dependiendo del uso que haga de Sidekiq, puede ajustar este parámetro para adaptarlo a sus necesidades específicas.
Para más información sobre Sidekiq y Valkey, puede consultar la documentación oficial aquí.
Configurar Valkey con Resque
Para utilizar Valkey con Resque, defina la variable de entorno REDIS_URL como se indica a continuación, sustituyendo <yourPassword> y <XXXXXX> por sus credenciales:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Resque utilizará automáticamente el servidor Valkey especificado en la variable de entorno REDIS_URL.
Para más información sobre el uso de Resque con Valkey, puede consultar la documentación de Resque aquí.