Valkey: Utilizar com Ruby
Como ligar o Valkey ao Ruby
👋 Bem-vindo à documentação da Stackhero!
A Stackhero disponibiliza uma solução Valkey cloud pronta a usar, que oferece várias vantagens, incluindo:
- Interface web Redis Commander incluída.
- Tamanho e transferências de mensagens ilimitados.
- Atualizações fáceis com apenas um clique.
- Performance otimizada e segurança reforçada graças a uma infraestrutura privada e dedicada.
Poupe tempo e simplifique a sua vida: bastam 5 minutos para experimentar a solução Valkey cloud hosting da Stackhero!
Valkey é uma base de dados open-source, em memória, concebida para oferecer um desempenho excecional e grande flexibilidade. Resultante de um fork do Redis após este ter adotado uma licença mais restritiva, o Valkey apresenta-se como uma alternativa totalmente open-source. Garante compatibilidade total com as bibliotecas Redis, tornando-se assim uma excelente solução de substituição para projetos que dependiam anteriormente do Redis.
Frequentemente classificado como uma base de dados NoSQL, o Valkey suporta uma vasta gama de estruturas de dados, como strings, hashes, listas, sets e sorted sets, entre outras. Com operações de alta velocidade e capacidade para gerir grandes volumes de dados, o Valkey tornou-se uma escolha popular para casos de uso como cache, analytics em tempo real, sistemas de mensagens, entre outros.
O Valkey integra-se facilmente com Ruby e Ruby on Rails, potenciando o desempenho, a escalabilidade e a flexibilidade. Os programadores Ruby podem tirar partido do Valkey para implementar funcionalidades como cache, gestão de sessões, processamento de dados em tempo real e gestão de tarefas em background, entre outras.
Eis algumas formas comuns de utilização do Valkey com Ruby e Ruby on Rails:
-
Cache: O Valkey pode funcionar como camada de cache em aplicações Rails, acelerando os tempos de resposta e reduzindo a carga sobre a base de dados.
-
Processamento de tarefas em background: O Valkey pode ser utilizado como backend para bibliotecas populares de processamento de tarefas em background, como Sidekiq e Resque, melhorando o desempenho e a fiabilidade das tarefas em background nas aplicações Rails.
-
Funcionalidades em tempo real: A funcionalidade Pub/Sub do Valkey permite que aplicações Rails ofereçam funcionalidades em tempo real, como notificações, sistemas de chat e analytics em tempo real, facilitando a passagem rápida e eficiente de mensagens entre componentes da aplicação.
A Stackhero disponibiliza uma solução Ruby cloud pronta a usar, que oferece várias vantagens, incluindo:
- Implemente a sua aplicação em segundos com um simples
git push.- Utilize o seu próprio 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 simples, transparente e previsível.
- Obtenha desempenho otimizado e segurança robusta graças a uma infraestrutura privada e dedicada.
Poupe tempo e simplifique a sua vida: bastam 5 minutos para experimentar a solução de alojamento Ruby cloud da Stackhero!
Configurar o Valkey como sistema de cache para Ruby on Rails
Para configurar o Valkey como sistema de cache em Ruby on Rails, siga estes passos:
- Instale a 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. Utilize um URL com o 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 do Valkey como sistema de cache para Ruby on Rails, consulte a documentação oficial do Rails aqui.
Configurar o Valkey com Sidekiq
O Sidekiq utilizará automaticamente o servidor Valkey definido pela variável de ambiente REDIS_URL.
Pode definir a variável de ambiente REDIS_URL desta forma, apenas substituindo <password> e <XXXXXX> pela sua informação:
REDIS_URL="rediss://default:<password>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Por predefinição, o Sidekiq está configurado de modo a não tolerar perturbações na rede. Para melhorar esta situação, sugerimos que altere 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, # Definir o timeout para 5 segundos
pool_timeout: 5, # Definir o timeout para 5 segundos
reconnect_attempts: Array.new(240, 0.5) # Tentar reconectar 240 vezes, a cada 0,5 segundos (120 segundos/2 minutos no total) antes de lançar um erro
}
end
Esta configuração garante que, se o seu servidor Valkey ficar indisponível, o cliente tentará reconectar durante 2 minutos antes de apresentar um erro. Isto permite, por exemplo, que o servidor Valkey reinicie. Dependendo da utilização do Sidekiq na sua aplicação, pode ajustar este parâmetro para melhor se adequar às suas necessidades específicas.
Para mais informações sobre o Sidekiq e o Valkey, consulte a documentação oficial aqui.
Configurar o Valkey com Resque
Para utilizar o Valkey com o 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>"
O Resque utilizará automaticamente o servidor Valkey especificado na variável de ambiente REDIS_URL.
Para mais informações sobre a utilização do Resque com o Valkey, consulte a documentação do Resque aqui.