Redis®*: Utilizar com Ruby
Como conectar o Redis com Ruby
👋 Bem-vindo à documentação da Stackhero!
A Stackhero oferece uma solução Redis cloud pronta a usar que proporciona uma série de benefícios, incluindo:
- Interface web
Redis Commanderincluída.- Tamanho e transferências de mensagens ilimitados.
- Atualizações simplificadas com apenas um clique.
- Desempenho ótimo e segurança robusta garantidos 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 de hospedagem Redis cloud da Stackhero!
Redis, que significa Remote Dictionary Server, é uma base de dados open-source em memória que oferece desempenho e flexibilidade excepcionais.
Frequentemente referida como uma base de dados NoSQL, o Redis 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 quantidades de dados, o Redis tornou-se uma escolha popular para caching, análises em tempo real, mensagens e vários outros casos de uso.
O Redis pode ser integrado de forma perfeita com Ruby e Ruby on Rails para melhorar o desempenho, escalabilidade e flexibilidade. Ao aproveitar o Redis, os desenvolvedores Ruby podem implementar várias funcionalidades como caching, gestão de sessões, processamento de dados em tempo real e processamento de tarefas em segundo plano, entre outros.
Aqui estão algumas formas comuns de usar o Redis com Ruby e Ruby on Rails:
- Caching: O Redis pode ser utilizado como um armazenamento de cache em aplicações Rails para acelerar os tempos de resposta e reduzir a carga na base de dados.
- Processamento de tarefas em segundo plano: O Redis serve como 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 do Redis permite que aplicações Rails implementem 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 diferentes componentes da aplicação.
A Stackhero oferece uma solução Ruby cloud 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 de Ruby cloud hosting da Stackhero.
Configurar o Redis como sistema de cache para Ruby on Rails
Para começar, pode querer instalar o gem "redis":
bundle add redis
Em seguida, pode editar o ficheiro config/environments/production.rb e adicionar esta linha:
config.cache_store = :redis_cache_store, { url: ENV["REDIS_URL"] }
Finalmente, defina a variável de ambiente REDIS_URL. Pode usar este URL e apenas substituir <yourPassword> e <XXXXXX> pelas suas informações:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Para mais informações sobre como configurar o Redis como sistema de cache para Ruby on Rails, pode consultar a documentação oficial do Rails aqui.
Configurar o Redis com Sidekiq
O Sidekiq usará automaticamente o servidor Redis definido na variável de ambiente REDIS_URL.
Pode definir a variável de ambiente REDIS_URL assim, 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 perturbações 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, # 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 segundo (120 segundos/2 minutos no total) antes de acionar um erro
}
end
Esta configuração garante que, se o seu servidor Redis se tornar indisponível, o cliente tentará novas tentativas durante 2 minutos antes de relatar um erro. Isso dá tempo para o servidor Redis 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 Redis, pode consultar a documentação oficial aqui.
Configurar o Redis com Resque
O Resque usará automaticamente o servidor Redis definido na variável de ambiente REDIS_URL.
Pode definir a variável de ambiente REDIS_URL assim, substituindo <yourPassword> e <XXXXXX> pelas suas informações:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Para mais informações sobre Resque e Redis, pode consultar a documentação oficial aqui.