Valkey: Utilizar com Ruby
Como conectar Valkey com Ruby
👋 Bem-vindo à documentação do Stackhero!
A Stackhero oferece uma solução Valkey cloud pronta a usar que proporciona uma série de benefícios, incluindo:
- Interface web UI
Redis Commanderincluída.- Tamanho e transferências de mensagens ilimitados.
- Atualizações simplificadas com apenas um clique.
- Desempenho ótimo e segurança robusta alimentados por uma VM privada e dedicada.
Poupe tempo e simplifique a sua vida: são necessários apenas 5 minutos para experimentar a solução Valkey cloud hosting da Stackhero!
Valkey é uma base de dados open-source em memória, projetada para desempenho e flexibilidade excepcionais. Derivada do Redis após a adoção de uma licença mais restritiva, Valkey oferece uma alternativa totalmente open-source. Proporciona compatibilidade perfeita com bibliotecas Redis, tornando-se uma excelente substituição para projetos que anteriormente dependiam do Redis.
Frequentemente referida como uma base de dados NoSQL, Valkey suporta uma ampla gama de estruturas de dados, como strings, hashes, listas, conjuntos e conjuntos ordenados, entre outros. Com suas operações de alta velocidade e capacidade de lidar com grandes volumes de dados, Valkey tornou-se uma escolha popular para casos de uso como caching, análises em tempo real, mensagens, e mais.
Valkey integra-se perfeitamente com Ruby e Ruby on Rails, melhorando o desempenho, escalabilidade e flexibilidade. Os desenvolvedores Ruby podem aproveitar Valkey para implementar funcionalidades como caching, gestão de sessões, processamento de dados em tempo real e gestão de tarefas em segundo plano, entre outras.
Aqui estão algumas formas comuns de utilizar Valkey com Ruby e Ruby on Rails:
-
Caching: Valkey pode servir como uma camada de cache em aplicações Rails, acelerando os tempos de resposta e reduzindo a carga na base de dados.
-
Processamento de tarefas em segundo plano: Valkey pode operar como um backend para bibliotecas populares de processamento de tarefas em segundo plano, como Sidekiq e Resque, melhorando o desempenho e a fiabilidade das tarefas em segundo plano em aplicações Rails.
-
Funcionalidades em tempo real: A funcionalidade Pub/Sub de Valkey permite que aplicações Rails ofereçam funcionalidades em tempo real, como notificações, sistemas de chat e análises em tempo real, facilitando a passagem rápida e eficiente de mensagens entre componentes da aplicação.
A Stackhero oferece uma solução cloud Ruby pronta a usar que proporciona uma série de benefícios, incluindo:
- Desdobre a sua aplicação em segundos com um simples
git push.- Use o seu próprio nome de domínio e beneficie da configuração automática de certificados HTTPS para maior segurança.
- Desfrute de tranquilidade com backups automáticos, atualizações com um clique, e uma tarifação simples, transparente e previsível.
- Obtenha desempenho ótimo e segurança robusta graças a uma VM privada e dedicada.
Poupe tempo e simplifique a sua vida: leva apenas 5 minutos para experimentar a solução cloud Ruby da Stackhero!
Configurar Valkey como sistema de cache para Ruby on Rails
Para configurar Valkey como sistema de cache em Ruby on Rails, siga estes passos:
- Instale o gem
redis:
bundle add redis
- Edite o ficheiro
config/environments/production.rbe adicione a seguinte configuração:
config.cache_store = :redis_cache_store, { url: ENV['VALKEY_URL'] }
- Defina a variável de ambiente
VALKEY_URL. Use um URL no seguinte formato, substituindo<yourPassword>e<XXXXXX>pelas suas credenciais:
VALKEY_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Para mais detalhes sobre a configuração de Valkey como sistema de cache para Ruby on Rails, pode consultar a documentação oficial de Rails aqui.
Configurar Valkey com Sidekiq
Sidekiq usará automaticamente o servidor Valkey definido pela variável de ambiente REDIS_URL.
Pode definir a variável de ambiente REDIS_URL assim, apenas substituindo <password> e <XXXXXX> pelas suas informações:
REDIS_URL="rediss://default:<password>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Por padrão, o Sidekiq está configurado de forma a não tolerar qualquer perturbação na rede. Para melhorar isso, sugerimos modificar a configuração do cliente Sidekiq em config/initializers/sidekiq.rb para aumentar a estabilidade:
# Ficheiro config/initializers/sidekiq.rb
Sidekiq.configure_client do |config|
config.redis = {
network_timeout: 5, # Defina o timeout para 5 segundos
pool_timeout: 5, # Defina o timeout para 5 segundos
reconnect_attempts: Array.new(240, 0.5) # Tente reconectar 240 vezes, a cada 0,5 segundo (120 segundos/2 minutos no total) antes de acionar um erro
}
end
Esta configuração garante que, se o seu servidor Valkey se tornar indisponível, o cliente tentará novas tentativas durante 2 minutos antes de relatar um erro. Isso dá tempo para o servidor Valkey reiniciar, por exemplo. Dependendo do uso do seu Sidekiq, pode ajustar esta configuração para melhor atender às suas necessidades específicas.
Para mais informações sobre Sidekiq e Valkey, pode consultar a documentação oficial aqui.
Configurar Valkey com Resque
Para usar Valkey com Resque, defina a variável de ambiente REDIS_URL da seguinte forma, substituindo <yourPassword> e <XXXXXX> pelas suas credenciais:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Resque usará automaticamente o servidor Valkey especificado na variável de ambiente REDIS_URL.
Para mais informações sobre o uso de Resque com Valkey, pode consultar a documentação de Resque aqui.