O que vem instalado no servidor Redis?
- Redis Open Source do repositório oficial do Redis, na última versão no momento da instalação
- Uma palavra-passe obrigatória definida com requirepass e gerada na instalação
- Persistência AOF ativa (appendonly yes)
- Ligações remotas na porta 6379
- A definição vm.overcommit_memory = 1 que a documentação do Redis recomenda
- Firewall com apenas as portas 22 e 6379 abertas, mais fail2ban para o SSH
Que tamanho é necessário para o Redis?
O Redis guarda todos os dados na RAM, por isso o volume dos dados determina o tamanho do servidor. A documentação de administração não dá um valor fixo, mas avisa que uma instância com muitas escritas pode usar até o dobro da memória normal enquanto guarda um ficheiro RDB ou reescreve o AOF. Como regra geral, 1 GB serve para uma cache ou um armazenamento de sessões pequeno, e para dados maiores deve escolher cerca do dobro do tamanho deles em RAM. Se não chegar, aumente o tamanho a partir do painel, e os seus dados e o endereço IP mantêm-se.
| Utilização | Tamanho | Preço | Escolher |
|---|---|---|---|
| Inicial | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/mês | |
| Médio | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/mês | |
| Potente | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mês |
Para quem é?
- Vários servidores de aplicações que precisam de uma cache ou de um armazenamento de sessões partilhado
- Filas de Laravel, Django, Rails ou Node.js que passam para um Redis próprio
- Aplicações que usam estruturas em memória como pub/sub, contadores ou classificações
- Programadores que querem um Redis remoto para desenvolvimento e testes
O que acontece depois de encomendar?
- Defina o tamanho e conclua o pagamento.
- O seu servidor arranca e o Redis instala-se sozinho. No separador Resumo, espere que a linha Aplicação indique que o Redis está pronto.
- Copie as linhas Endereço de ligação e Palavra-passe. Não há linha Utilizador, porque a palavra-passe pertence ao utilizador predefinido do Redis.
- Teste a ligação: redis-cli -h IP -a PASSWORD ping
- Dê à sua aplicação a cadeia de ligação: redis://:PASSWORD@IP:6379/0
- Se o usa como cache, defina maxmemory-policy allkeys-lru e depois limite a porta 6379 aos seus próprios endereços.
Em todos os servidores
- Cópias de segurança diárias incluídas no preço
- Tráfego ilimitado
- Acesso root completo
- Aumentar ou reduzir a RAM e o CPU mais tarde, e fazer crescer o disco
- Localização: Istanbul · IST-1.
Bom saber
- A porta 6379 está aberta à Internet e não tem TLS, por isso a palavra-passe e os dados viajam sem cifra. Limite-a: ufw delete allow 6379/tcp e depois ufw allow from YOUR_IP to any port 6379.
- O maxmemory é definido para cerca de três quartos da RAM durante a instalação. No limite, o Redis recusa novas escritas. Se alterar o tamanho do servidor, aumente o valor em /etc/redis/redis.conf.
- O Redis 8 e posteriores é distribuído sob RSALv2, SSPLv1 ou AGPLv3. Se pretende oferecer o Redis a terceiros como serviço, leia os termos.
- O Redis vem do seu próprio repositório e não se atualiza sozinho. As versões novas instalam-se com apt.
Redis: perguntas e respostas
Como me ligo ao meu servidor Redis?
A sua cadeia de ligação é redis://:PASSWORD@IP:6379/0. Na linha de comandos, execute redis-cli -h IP -a PASSWORD. Uma ligação sem a palavra-passe recebe um erro NOAUTH, pelo que todos os comandos remotos têm de se autenticar primeiro.
De quanta RAM precisa o Redis?
O volume dos dados determina a RAM de que o Redis precisa, e não há um valor oficial fixo. Como regra geral, 1 GB é um começo para uma cache ou um armazenamento de sessões pequeno. A memória pode duplicar durante as gravações numa instância com muitas escritas, por isso escolha cerca do dobro do tamanho dos dados em RAM.
O Redis perde dados quando reinicia?
Não. Nesta instalação o Redis tem a persistência AOF ativa, por isso cada escrita é acrescentada ao disco e os dados voltam desse ficheiro após um reinício. A política de fsync predefinida corre uma vez por segundo, o que significa que uma falha inesperada pode perder, no máximo, o último segundo de escritas.
O que acontece quando o Redis fica sem memória?
Esta instalação define o maxmemory para cerca de três quartos da RAM e, no limite, o Redis recusa novas escritas. Para uma cache, acrescente maxmemory-policy allkeys-lru a /etc/redis/redis.conf e execute systemctl restart redis-server. O Redis passa então a remover chaves antigas sozinho no limite.
A minha ligação ao Redis está cifrada?
As ligações ao Redis não têm TLS na instalação, por isso a palavra-passe e os dados viajam sem cifra. Limite o acesso ao seu próprio endereço IP ou abra um túnel SSH com ssh -L 6379:127.0.0.1:6379 root@IP. Uma aplicação no mesmo servidor liga-se a 127.0.0.1, pelo que o tráfego nunca sai da máquina.
Posso criar um utilizador Redis à parte para a minha aplicação?
Sim, através das ACL do Redis. Por exemplo: ACL SETUSER uygulama on >STRONG_PASSWORD allkeys +@all -@dangerous. Depois guarde-o no ficheiro de definições com CONFIG REWRITE. A cadeia de ligação passa a ser redis://uygulama:STRONG_PASSWORD@IP:6379/0.