Redis®*: Primeiros passos
Guia rápido para começar a utilizar Redis
👋 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 é uma base de dados em memória poderosa e extremamente rápida, que pode desempenhar várias funções. Pode utilizá-la como cache, como store key-value, como motor de estruturas de dados em tempo real, ou como sistema de publish/subscribe e de eventos.
Redis voltou a ser open source: desde Redis 8 (maio de 2025) está disponível sob a licença GNU AGPLv3. Se preferir uma alternativa drop-in com licença permissiva (BSD), o fork orientado pela comunidade Valkey também está disponível na Stackhero.
Para o ajudar a começar, partilhámos exemplos de código que mostram como ligar a uma instância Redis. Pode encontrá-los neste repositório GitHub: https://github.com/stackhero-io/redisGettingStarted.
Utilizar Redis com Ruby e Ruby on Rails
Configurar Redis como sistema de cache para Ruby on Rails
Para começar, pode instalar a gem redis com:
bundle add redis
Em seguida, pode abrir config/environments/production.rb e adicionar a seguinte linha:
config.cache_store = :redis_cache_store, { url: ENV["REDIS_URL"] }
Depois, pode definir a variável de ambiente REDIS_URL. Eis um modelo que pode adaptar com os seus próprios dados:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Por predefinição, a cache está ativada apenas no ambiente de produção. Se quiser testar a cache durante o desenvolvimento, também pode atualizar
config/environments/development.rb. Adicione a mesma configuração apresentada acima e incluaconfig.action_controller.perform_caching = truepara ativar a cache. Uma forma simples de confirmar que a cache está a funcionar é iniciar uma consola Rails combin/rails consolee experimentarRails.cache.write("foo", "bar").
Para mais detalhes sobre a utilização de Redis como cache store no Ruby on Rails, pode consultar a documentação oficial do Rails.
Configurar Redis para Sidekiq
O Sidekiq utiliza automaticamente o servidor Redis definido na variável de ambiente REDIS_URL.
Pode definir REDIS_URL com os seus próprios dados de ligação desta forma:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Para mais detalhes sobre a utilização do Sidekiq com Redis, pode consultar a documentação oficial do Sidekiq.
Configurar Redis para Resque
Tal como o Sidekiq, o Resque utiliza o servidor Redis definido na variável de ambiente REDIS_URL.
Pode definir REDIS_URL com os seus próprios dados desta forma:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Para mais informações sobre a utilização do Resque com Redis, pode consultar a documentação oficial do Resque.
Gerir sessões PHP com Redis
Se quiser armazenar sessões PHP no Stackhero for Redis, pode utilizar o exemplo seguinte:
<?php
// Parse Redis URL
$redis_url = parse_url("rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>")
// Configure session handler
ini_set("session.save_handler", "redis")
ini_set("session.save_path", "tls://{$redis_url["host"]}:{$redis_url["port"]}?auth={$redis_url["pass"]}&timeout=5")
// Start the session
session_start()
?>
Reforçar a segurança do Redis
Manter a sua instância Redis segura é importante, e algumas medidas simples podem fazer uma grande diferença.
Encriptar as comunicações com Redis (TLS)
Por predefinição, o Redis não encripta o tráfego de rede. Na Stackhero, a encriptação TLS está ativada por predefinição.
Para beneficiar disso, pode configurar o seu cliente Redis para utilizar TLS e ligar-se através da porta <PORT_TLS>. O ideal é utilizar <PORT_CLEAR> apenas em casos específicos em que o tráfego não encriptado seja adequado, enquanto <PORT_TLS> fornece comunicação encriptada.
A boa notícia é que não há nada extra a configurar do lado do servidor. Nós já tratamos dessa parte por si.
Proteger Redis contra ataques de força bruta
A sua instância Redis está protegida com uma palavra-passe, e a Stackhero gera automaticamente uma palavra-passe forte por predefinição. Se decidir alterá-la, o ideal é escolher uma palavra-passe muito longa e complexa.
O Redis é extremamente rápido, e consegue processar um número muito elevado de tentativas de autenticação. Na prática, isso significa que um atacante poderia potencialmente tentar até 150,000 combinações de palavras-passe por segundo.
Para reforçar a proteção, impomos um comprimento mínimo de palavra-passe de 16 caracteres, o que representa aproximadamente 4.5231285e+74 combinações possíveis. Por predefinição, a Stackhero utiliza uma palavra-passe de 64 caracteres, o que representa cerca de 9.61963e+111 combinações possíveis.
Para uma proteção ainda mais forte, também pode configurar regras de firewall da Stackhero no separador Firewall para permitir ligações apenas a partir dos seus próprios endereços IP. Esta é uma das formas mais eficazes de melhorar a sua postura global de segurança.