Valkey: Introdução
Guia rápido para começar com Valkey
👋 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 em memória poderosa e incrivelmente rápida, baseada no Redis. À medida que o Redis se afastou do modelo de código aberto, o Valkey surgiu da comunidade e de várias empresas como uma alternativa robusta de código aberto. Integra-se perfeitamente com as bibliotecas Redis, tornando-se uma substituição ideal.
Valkey é versátil, servindo para múltiplos propósitos: pode funcionar como um sistema de cache, uma base de dados chave/valor, facilitar a ordenação de dados em tempo real ou atuar como uma fila de publicação/assinatura semelhante a um sistema de eventos.
Para ajudá-lo a conectar-se a uma instância Valkey, preparamos alguns exemplos de código. Sinta-se à vontade para explorá-los no seguinte repositório Git: https://github.com/stackhero-io/valkeyGettingStarted.
Usar Valkey com Ruby e Ruby on Rails
Configurar Valkey como sistema de cache para Ruby on Rails
Para começar, pode instalar a gem redis com este comando:
bundle add redis
Em seguida, abra o ficheiro config/environments/production.rb e inclua esta linha:
config.cache_store = :redis_cache_store, { url: ENV["VALKEY_URL"] }
Depois, precisará definir a variável de ambiente VALKEY_URL. Aqui está um exemplo de como pode formatar o URL com as suas informações:
VALKEY_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Por padrão, o cache só está ativado no ambiente de produção. Se desejar testar o cache em desenvolvimento, modifique o ficheiro
config/environments/development.rbadicionando a configuração acima e definaconfig.action_controller.perform_caching = truepara ativar o cache. Uma boa maneira de verificar se o cache funciona é iniciar uma consola Rails (usandobin/rails console) e testar a escrita comRails.cache.write("foo", "bar").
Para mais informações detalhadas sobre a configuração do Valkey como sistema de cache para Ruby on Rails, pode consultar a documentação oficial do Rails aqui.
Configurar Valkey no Sidekiq
O Sidekiq usará automaticamente o servidor Valkey configurado na variável de ambiente REDIS_URL.
Pode definir a variável de ambiente REDIS_URL com as suas informações da seguinte forma:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Para mais informações sobre o uso do Sidekiq com Valkey, pode consultar a documentação oficial aqui.
Configurar Valkey no Resque
O Resque usará automaticamente o servidor Valkey definido na variável de ambiente REDIS_URL.
Pode definir a variável de ambiente REDIS_URL com as suas informações da seguinte forma:
REDIS_URL="rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Para informações adicionais sobre o uso do Resque com Valkey, pode consultar a documentação oficial aqui.
Gerir sessões PHP com Valkey
Pode usar o seguinte código para armazenar sessões PHP no Stackhero para Valkey:
<?php
// Analisar URL do Valkey
$valkey_url = parse_url('rediss://default:<yourPassword>@<XXXXXX>.stackhero-network.com:<PORT_TLS>');
// Configurar o gestor de sessões
ini_set('session.save_handler', 'redis');
ini_set('session.save_path', "tls://{$valkey_url['host']}:{$valkey_url['port']}?auth={$valkey_url['pass']}&timeout=5");
// Iniciar a sessão
session_start();
?>
Melhorar a segurança do Valkey
Reforçar a segurança da sua configuração Valkey é crucial. Aqui estão duas medidas importantes que pode implementar para maximizar a segurança.
Encriptar comunicações com Valkey (TLS)
Por padrão, o Valkey não encripta comunicações. No entanto, no Stackhero, a encriptação TLS é fornecida de forma padrão.
Para aproveitar esta funcionalidade, basta configurar o seu cliente Valkey para usar encriptação TLS e conectar-se à sua instância usando a porta <PORT_TLS>, em vez da porta não encriptada <PORT_CLEAR>.
A boa notícia é que não precisa se preocupar com configurações adicionais, nós preparamos tudo para si.
Proteger o seu Valkey contra ataques de força bruta
A sua instância Valkey está protegida com uma palavra-passe forte, automaticamente predefinida pelo Stackhero. Se decidir alterá-la, certifique-se de que a palavra-passe seja extremamente complexa.
Valkey é rápido e, infelizmente, não possui proteção integrada contra ataques de força bruta. Um atacante poderia potencialmente tentar até 150.000 combinações de palavras-passe por segundo.
Para mitigar isso, as palavras-passe devem ter pelo menos 16 caracteres (4.5231285e+74 possibilidades), e por padrão, definimos uma palavra-passe de 64 caracteres (9.61963e+111 possibilidades!).
Para maior segurança e para contrariar eficazmente as tentativas de força bruta, é aconselhável configurar o firewall do Stackhero (acessível na aba "Firewall") para restringir as conexões apenas aos seus endereços IP. Este é um passo crítico que reforçará significativamente a sua segurança!