04.08.2026

Como Instalar e Configurar o Redis em uma VPS na Serverspace

Redis é um armazenamento de dados de alto desempenho em memória, utilizado para cache, sessões de usuários, filas de tarefas, contadores, dados temporários, bloqueios distribuídos e processamento de eventos em tempo real.

Ao contrário de um banco de dados relacional tradicional, o Redis armazena informações no formato chave-valor e oferece suporte a diferentes estruturas de dados, incluindo strings, listas, conjuntos, conjuntos ordenados, hashes, streams e outros tipos.

O Redis geralmente é implantado ao lado da aplicação principal e do banco de dados. Por exemplo, um serviço web pode manter os dados permanentes no PostgreSQL e utilizar o Redis para cache, sessões, limitação de solicitações e filas de tarefas em segundo plano.

Neste tutorial, mostraremos como implantar o Redis pelo painel da Serverspace, conectar-se ao servidor, verificar o serviço, utilizar o redis-cli, configurar ACL e autenticação, habilitar acesso remoto seguro, gerenciar memória e TTL, configurar persistência RDB e AOF, criar backups, monitorar o servidor, configurar replicação, Redis Sentinel, Redis Cluster e solucionar problemas comuns.

O que é Redis?

Redis é um armazenamento de dados executado no servidor que mantém seu conjunto de dados ativo principalmente na memória RAM.

Entre os principais recursos do Redis estão:

O Redis pode ser utilizado como:

Principais casos de uso do Redis

O Redis é especialmente útil quando a aplicação exige acesso aos dados com baixa latência.

Entre os cenários mais comuns estão:

Quando o Redis não substitui o banco de dados principal

O Redis nem sempre deve ser utilizado como o único armazenamento permanente da aplicação.

Normalmente, um banco de dados separado continua sendo necessário quando o projeto exige:

Na maioria das aplicações web, o Redis complementa o PostgreSQL, MySQL ou outro banco de dados persistente, em vez de substituí-lo.

Estruturas de dados do Redis

O Redis oferece suporte a diferentes tipos de dados.

Tipo Exemplo de uso
String Cache, tokens, contadores e valores JSON
Hash Objetos de usuários, configurações e registros de produtos
List Filas, logs de eventos e sequências ordenadas
Set Valores únicos, tags e participantes de grupos
Sorted Set Rankings, filas de prioridade e linhas do tempo
Stream Streams de eventos e filas com grupos de consumidores
Bitmap Flags, controle de presença e estados booleanos compactos
HyperLogLog Contagem aproximada de elementos únicos

A estrutura selecionada influencia o consumo de memória e a complexidade das operações.

Como o Redis armazena os dados

O conjunto de dados ativo do Redis permanece na memória RAM.

Isso oferece baixa latência, mas exige que o administrador considere:

O Redis pode:

Redis Open Source e Redis Stack

Ao escolher uma implantação, é importante diferenciar o servidor Redis básico das distribuições com recursos adicionais.

O Redis padrão é adequado para:

O Redis Stack pode incluir recursos adicionais para:

Antes da implantação, verifique qual distribuição do Redis está incluída na imagem da Serverspace.

Recursos recomendados para a VPS

Os requisitos do Redis dependem principalmente da quantidade de dados armazenados na memória e do volume de solicitações.

Para testes, você pode começar com:

Para um pequeno projeto em produção, considere:

Aumente os recursos quando:

Como estimar a quantidade necessária de RAM

O tamanho dos dados originais não é igual ao consumo real de memória do Redis.

Memória adicional é utilizada por:

Não defina maxmemory com o valor total da RAM disponível no servidor.

Reserve capacidade para:

Portas de rede do Redis

O Redis utiliza a porta TCP 6379 por padrão.

Modos adicionais podem exigir outras portas.

Porta Finalidade Recomendação
6379/TCP Conexões dos clientes Redis Permitir somente endereços confiáveis ou redes privadas
16379/TCP Cluster bus quando a porta do cliente é 6379 Permitir somente entre os nós do cluster
26379/TCP Redis Sentinel Permitir aplicações e outros nós Sentinel
22/TCP Administração por SSH Restringir aos endereços IP dos administradores

Não exponha o Redis em `0.0.0.0:6379` para toda a internet.

Como implantar o Redis pela Serverspace

O Redis está disponível no catálogo de aplicativos prontos da Serverspace.

A implantação por meio dos 1-Click Apps fornece uma VPS com o Redis instalado, eliminando a necessidade de preparar manualmente os pacotes e serviços do sistema.

Etapa 1. Inicie a criação do servidor

Entre no painel da Serverspace, abra a seção vStack cloud e clique em Criar servidor.

O assistente de configuração da máquina virtual será aberto.

Etapa 2. Selecione o Redis

Abra a guia Aplicativos ou 1-Click Apps.

Localize Redis e selecione o aplicativo.

Etapa 3. Escolha o data center

Implante o Redis próximo da aplicação que irá utilizá-lo.

Ao selecionar uma região, considere:

Mesmo um pequeno aumento na latência da rede pode se tornar perceptível quando a aplicação realiza muitas solicitações sequenciais ao Redis.

Etapa 4. Configure os recursos

Selecione:

Exemplos:

redis-cache-01

ou:

redis-production-primary

Etapa 5. Configure o acesso SSH

Defina uma senha de root ou adicione uma chave pública SSH.

Em produção, utilize autenticação por chave SSH.

Não armazene a chave privada:

Etapa 6. Implante o servidor

Revise a configuração e inicie a implantação.

A Serverspace irá:

Aguarde até que o status da VPS seja alterado para Ativo.

Como se conectar ao servidor via SSH

Copie o endereço IP da VPS no painel da Serverspace.

Conecte-se:

ssh root@YOUR_SERVER_IP

Durante a primeira conexão, confira a impressão digital do host e confirme:

yes

Digite a senha ou utilize a chave privada SSH.

Como verificar o serviço do Redis

O nome do serviço systemd depende da distribuição Linux e da imagem utilizada.

Verifique:

systemctl status redis

Caso o serviço não seja encontrado:

systemctl status redis-server

Liste os serviços Redis ativos:

systemctl list-units --type=service | grep -i redis

Confira o processo:

ps aux | grep redis-server

Verifique a porta:

ss -lntp | grep 6379

Como testar o Redis com redis-cli

Conecte-se localmente:

redis-cli

Execute:

PING

Resposta esperada:

PONG

Também é possível testar o Redis com um único comando:

redis-cli PING

Quando a autenticação estiver habilitada:

redis-cli --user default --pass 'STRONG_PASSWORD' PING

Uma senha fornecida como argumento pode aparecer no histórico do shell e na lista de processos. Para uso regular, prefira variáveis de ambiente protegidas, configurações da aplicação, URIs de conexão ou autenticação interativa.

Comandos básicos do redis-cli

Crie uma chave:

SET project:status active

Recupere o valor:

GET project:status

Verifique se a chave existe:

EXISTS project:status

Exclua a chave:

DEL project:status

Crie um contador:

SET page:views 0
INCR page:views
INCR page:views
GET page:views

Crie uma chave com tempo de expiração:

SET verification:code 482193 EX 300

Verifique o tempo restante:

TTL verification:code

Como trabalhar com hashes

Crie um objeto de usuário:

HSET user:1001 name "Alex" email "[alex@example.com](mailto:alex@example.com)" plan "pro"

Recupere um campo:

HGET user:1001 email

Recupere o objeto completo:

HGETALL user:1001

Atualize um campo:

HSET user:1001 plan "business"

Exclua um campo:

HDEL user:1001 email

Como trabalhar com listas

Adicione tarefas:

LPUSH jobs:email "task-1"
LPUSH jobs:email "task-2"

Exiba a lista:

LRANGE jobs:email 0 -1

Recupere uma tarefa:

RPOP jobs:email

Em filas de produção, considere confirmação de processamento, novas tentativas e falhas dos processos worker.

Como trabalhar com conjuntos

Adicione valores únicos:

SADD article:100:tags redis cache linux

Recupere os elementos:

SMEMBERS article:100:tags

Verifique se um elemento existe:

SISMEMBER article:100:tags redis

Remova um elemento:

SREM article:100:tags linux

Como trabalhar com conjuntos ordenados

Crie uma tabela de classificação:

ZADD game:leaderboard 1200 alice
ZADD game:leaderboard 950 bob
ZADD game:leaderboard 1730 carol

Exiba a classificação em ordem decrescente:

ZREVRANGE game:leaderboard 0 -1 WITHSCORES

Aumente uma pontuação:

ZINCRBY game:leaderboard 100 alice

Como trabalhar com Streams

Adicione um evento:

XADD events:orders * order_id 5001 status created

Leia o stream:

XRANGE events:orders - +

Crie um grupo de consumidores:

XGROUP CREATE events:orders workers 0 MKSTREAM

Leia um evento como consumidor:

XREADGROUP GROUP workers worker-1 COUNT 10 BLOCK 5000 STREAMS events:orders >

Confirme o evento após o processamento:

XACK events:orders workers EVENT_ID

Localização do arquivo de configuração do Redis

O caminho depende do sistema operacional e do método de instalação.

Os locais mais comuns são:

/etc/redis/redis.conf

ou:

/etc/redis.conf

Localize o arquivo:

find /etc -name "redis*.conf" 2>/dev/null

Confira os argumentos do processo:

ps aux | grep redis-server

Crie uma cópia antes da edição:

cp /etc/redis/redis.conf /etc/redis/redis.conf.backup

Depois das alterações, valide a configuração e reinicie o serviço.

Como configurar o bind

O parâmetro bind determina em quais interfaces de rede o Redis aceita conexões.

Para acesso local:

bind 127.0.0.1 -::1

Quando a aplicação estiver em outro servidor da rede privada:

bind 127.0.0.1 PRIVATE_REDIS_IP

Não utilize:

bind 0.0.0.0

sem firewall, ACL, autenticação e uma arquitetura de rede cuidadosamente planejada.

Protected mode

O protected mode ajuda a impedir que o Redis seja exposto acidentalmente sem autenticação.

Valor recomendado:

protected-mode yes

O protected mode não substitui:

Como configurar ACL no Redis

As ACLs permitem criar usuários Redis e restringir:

Exiba os usuários existentes:

ACL LIST

Crie um usuário para a aplicação:

ACL SETUSER appuser on >STRONG_PASSWORD ~app:* +@read +@write -@dangerous

Essa configuração:

Confira o usuário:

ACL GETUSER appuser

Conecte-se:

redis-cli --user appuser --pass 'STRONG_PASSWORD'

Como desabilitar ou restringir o usuário default

Depois de criar um administrador separado e um usuário para a aplicação, você pode restringir o usuário default.

Exemplo:

ACL SETUSER default off

Antes de executar:

Não desabilite o único usuário disponível antes de testar a conta substituta.

Como salvar a configuração de ACL

As regras de ACL podem ser armazenadas no redis.conf ou em um arquivo separado.

Verifique:

CONFIG GET aclfile

Salve as alterações:

ACL SAVE

Quando aclfile não estiver configurado, certifique-se de que as regras foram adicionadas à configuração persistente. Caso contrário, elas poderão desaparecer após a reinicialização.

Como consultar erros de ACL

Exiba os eventos recentes:

ACL LOG

Limite o resultado:

ACL LOG 20

Limpe o log:

ACL LOG RESET

O log de ACL ajuda a identificar:

Autenticação com requirepass

Configurações simples ou antigas podem utilizar:

requirepass STRONG_PASSWORD

Depois da alteração, conecte-se:

redis-cli

Execute:

AUTH STRONG_PASSWORD

Para novos projetos, prefira ACLs com usuários individuais e o mínimo de permissões necessárias.

Acesso remoto seguro

Os métodos de conexão mais seguros incluem:

Não permita que todos os hosts da internet se conectem à porta 6379.

Como se conectar por um túnel SSH

Crie o túnel no computador local:

ssh -L 6379:127.0.0.1:6379 root@YOUR_SERVER_IP

Depois, conecte-se localmente:

redis-cli -h 127.0.0.1 -p 6379

O tráfego será encaminhado pelo SSH, enquanto o Redis continuará escutando apenas no localhost.

Como configurar o firewall

Um servidor Redis utilizado somente localmente normalmente precisa de:

Para um servidor backend separado, permita a porta 6379 somente a partir do endereço IP correspondente.

Exemplo com UFW:

ufw allow from BACKEND_IP to any port 6379 proto tcp

Depois, bloqueie as demais conexões:

ufw deny 6379/tcp

Verifique as regras:

ufw status numbered

Antes de alterar o firewall, mantenha a sessão SSH atual aberta e prepare o acesso pelo console da Serverspace.

Como configurar TLS

O Redis pode aceitar conexões TLS quando a compilação instalada oferece suporte à criptografia.

Exemplo:

port 0
tls-port 6379
tls-cert-file /etc/redis/tls/redis.crt
tls-key-file /etc/redis/tls/redis.key
tls-ca-cert-file /etc/redis/tls/ca.crt

`port 0` desabilita a porta sem criptografia.

Conecte-se:

redis-cli --tls
--cacert /path/to/ca.crt
--cert /path/to/client.crt
--key /path/to/client.key

Proteja a chave privada:

chmod 600 /etc/redis/tls/redis.key

Como configurar maxmemory

Limite o uso de memória do Redis:

maxmemory 3gb

Não atribua toda a RAM do servidor ao Redis.

Verifique o valor atual:

redis-cli CONFIG GET maxmemory

Altere em tempo de execução:

redis-cli CONFIG SET maxmemory 3221225472

Adicione o parâmetro ao arquivo de configuração para que ele seja aplicado permanentemente.

Políticas de remoção de chaves

Quando o limite maxmemory é atingido, o comportamento do Redis é controlado por maxmemory-policy.

Política Comportamento
noeviction Não remove chaves e rejeita operações de escrita quando a memória é esgotada
allkeys-lru Remove aproximadamente as chaves utilizadas há mais tempo
allkeys-lfu Remove aproximadamente as chaves utilizadas com menor frequência
allkeys-random Remove chaves aleatórias
volatile-lru Aplica LRU somente às chaves com TTL
volatile-lfu Aplica LFU somente às chaves com TTL
volatile-ttl Prioriza chaves com menor tempo restante de vida

Para um cache de uso geral, as opções mais comuns são:

maxmemory-policy allkeys-lru

ou:

maxmemory-policy allkeys-lfu

Para um armazenamento crítico no qual a remoção automática não é aceitável:

maxmemory-policy noeviction

Como configurar TTL

Crie uma chave com expiração:

SET session:abc123 "user-1001" EX 3600

Atribua TTL a uma chave existente:

EXPIRE session:abc123 3600

Verifique:

TTL session:abc123

Remova a expiração:

PERSIST session:abc123

Chaves de cache e dados temporários normalmente devem possuir TTL para não permanecerem na memória indefinidamente.

Snapshots RDB

O RDB cria um snapshot compacto do conjunto de dados nos intervalos configurados.

Exemplo:

save 3600 1
save 300 100
save 60 10000

Essa configuração cria um snapshot:

Verifique a configuração:

redis-cli CONFIG GET save

Inicie um salvamento em segundo plano:

redis-cli BGSAVE

Confira o timestamp:

redis-cli LASTSAVE

Persistência AOF

O Append Only File registra em um log as operações que alteram os dados.

Habilite:

appendonly yes

Um modo de sincronização comum:

appendfsync everysec

Opções disponíveis:

O modo everysec costuma ser utilizado como equilíbrio entre desempenho e durabilidade.

RDB vs. AOF

Critério RDB AOF
Formato Snapshot do conjunto de dados Log de operações
Tamanho do arquivo Normalmente mais compacto Pode exigir mais espaço em disco
Possível perda de dados recentes Depende da frequência dos snapshots Depende do appendfsync
Restauração Normalmente mais rápida Pode levar mais tempo
Cenário comum Backups e snapshots periódicos Maior durabilidade para gravações recentes

Implantações críticas podem habilitar os dois mecanismos.

Onde ficam os arquivos do Redis

Verifique o diretório de dados:

redis-cli CONFIG GET dir

Confira o nome do arquivo RDB:

redis-cli CONFIG GET dbfilename

Verifique a configuração do AOF:

redis-cli CONFIG GET appenddirname
redis-cli CONFIG GET appendfilename

Não copie arbitrariamente arquivos de persistência ativos sem considerar as operações de escrita em andamento.

Como criar um backup do Redis

Inicie um snapshot em segundo plano:

redis-cli BGSAVE

Verifique o estado:

redis-cli INFO persistence

Depois de um salvamento bem-sucedido, copie o arquivo RDB para um armazenamento separado.

Exemplo:

cp /var/lib/redis/dump.rdb /backup/redis/dump-$(date +%F-%H%M).rdb

Determine o caminho real com CONFIG GET dir.

Estratégia recomendada de backup

Exemplo:

Uma réplica pode reproduzir exclusões acidentais ou dados corrompidos do nó primário.

Como restaurar um snapshot RDB

Antes da restauração:

Exemplo:

systemctl stop redis-server
cp /backup/redis/dump.rdb /var/lib/redis/dump.rdb
chown redis:redis /var/lib/redis/dump.rdb
systemctl start redis-server

O nome do serviço e o diretório podem ser diferentes.

Como verificar a persistência

Execute:

redis-cli INFO persistence

Analise:

Como monitorar o Redis

Exiba as informações gerais:

redis-cli INFO

Exiba seções individuais:

redis-cli INFO server
redis-cli INFO clients
redis-cli INFO memory
redis-cli INFO persistence
redis-cli INFO stats
redis-cli INFO replication
redis-cli INFO cpu
redis-cli INFO keyspace

Principais métricas do Redis

Monitore:

Taxa de acerto do cache

A eficiência do cache pode ser avaliada com:

Quando a quantidade de misses for alta, verifique:

Como verificar a latência do Redis

Execute:

redis-cli --latency

Exiba o histórico de latência:

redis-cli --latency-history

Execute um teste de latência interna:

redis-cli --intrinsic-latency 30

Uma latência alta pode ser causada por:

Slow Log do Redis

Exiba comandos lentos:

SLOWLOG GET 20

Confira a quantidade de registros:

SLOWLOG LEN

Limpe o log:

SLOWLOG RESET

Verifique a configuração:

CONFIG GET slowlog-log-slower-than
CONFIG GET slowlog-max-len

O Slow Log mede o tempo de execução do comando dentro do Redis e não inclui a latência da rede.

Como encontrar chaves grandes

Execute:

redis-cli --bigkeys

Para uma análise mais detalhada da memória:

redis-cli --memkeys

Chaves grandes podem:

Por que não utilizar KEYS em produção?

O comando:

KEYS *

pode bloquear o Redis quando o conjunto de dados é grande.

Utilize SCAN:

SCAN 0 MATCH session:* COUNT 100

Continue a busca utilizando o cursor retornado pelo comando anterior.

Como excluir chaves grandes

O comando DEL pode bloquear o Redis ao excluir um objeto muito grande.

Utilize a exclusão assíncrona:

UNLINK large:key

Para limpar um banco lógico, considere:

FLUSHDB ASYNC

Antes de executar, confirme se o banco correto está selecionado.

Replicação do Redis

A replicação cria uma cópia dos dados do nó primário em um ou mais nós replica.

Ela pode ser utilizada para:

A replicação é assíncrona. Portanto, as gravações mais recentes podem ser perdidas durante uma falha.

Como configurar uma réplica

Adicione a seguinte configuração no servidor replica:

replicaof PRIMARY_PRIVATE_IP 6379

Quando o primary exigir autenticação, configure as credenciais de replicação.

Em ambientes com ACL, crie um usuário específico para a replicação com as permissões necessárias.

Depois de reiniciar, verifique:

redis-cli INFO replication

A réplica deve exibir:

role:slave

ou a designação atual correspondente ao modo replica.

Como verificar a replicação

No nó primary:

redis-cli INFO replication

Verifique:

Na réplica:

Redis Sentinel

O Sentinel monitora os nós primary e replica e pode iniciar um failover automático.

O Sentinel oferece:

Utilize vários processos Sentinel independentes para estabelecer um quorum confiável.

Configuração básica do Sentinel

Exemplo de sentinel.conf:

port 26379
sentinel monitor mymaster PRIMARY_PRIVATE_IP 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000
sentinel parallel-syncs mymaster 1

Quando o Redis utilizar autenticação por ACL, adicione as credenciais do Sentinel de acordo com a versão do Redis e o modelo de autenticação escolhido.

Inicie o Sentinel:

redis-sentinel /etc/redis/sentinel.conf

Também é possível utilizar um serviço systemd, quando ele estiver incluído no pacote.

Como verificar o Redis Sentinel

Conecte-se:

redis-cli -p 26379

Exiba as informações do primary:

SENTINEL MASTER mymaster

Liste as réplicas:

SENTINEL REPLICAS mymaster

Exiba o endereço do primary atual:

SENTINEL GET-MASTER-ADDR-BY-NAME mymaster

Redis Cluster

O Redis Cluster distribui as chaves entre vários nós.

Utilize-o quando:

Cada nó do cluster precisa de:

Quando o Redis Cluster não é necessário

Evite complexidade desnecessária quando:

Um servidor Redis separado com backups é suficiente para pequenos projetos. Adicione réplicas e Sentinel quando precisar de maior disponibilidade.

Como se conectar pelo Python

Instale a biblioteca:

pip install redis

Exemplo:

import redis

client = redis.Redis(
host="PRIVATE_REDIS_IP",
port=6379,
username="appuser",
password="STRONG_PASSWORD",
decode_responses=True,
socket_connect_timeout=5,
socket_timeout=5,
)

client.set("app:status", "active", ex=300)
print(client.get("app:status"))

Não armazene a senha diretamente no código-fonte. Utilize variáveis de ambiente ou um gerenciador de segredos.

Como se conectar pelo Node.js

Instale o cliente:

npm install redis

Exemplo:

import { createClient } from "redis";

const client = createClient({
url: "redis://appuser:STRONG_PASSWORD@PRIVATE_REDIS_IP:6379"
});

client.on("error", (error) => {
console.error("Redis error:", error);
});

await client.connect();

await client.set("app:status", "active", {
EX: 300
});

console.log(await client.get("app:status"));

await client.quit();

Passe a senha por meio de uma variável de ambiente protegida.

Como se conectar pelo PHP

Exemplo com PhpRedis:

$redis = new Redis();

$redis->connect('PRIVATE_REDIS_IP', 6379, 5);

$redis->auth([
'appuser',
'STRONG_PASSWORD'
]);

$redis->setex('app:status', 300, 'active');

echo $redis->get('app:status');

Verifique se a versão instalada do cliente oferece suporte à sintaxe de autenticação utilizada.

URI de conexão do Redis

Exemplo:

redis://appuser:STRONG_PASSWORD@PRIVATE_REDIS_IP:6379/0

Para TLS:

rediss://appuser:STRONG_PASSWORD@redis.example.com:6379/0

Não publique URIs com credenciais:

Connection pooling

A aplicação não deve abrir uma nova conexão TCP para cada comando Redis.

Utilize:

Exiba as conexões atuais:

redis-cli CLIENT LIST

Exiba a quantidade de clientes:

redis-cli INFO clients

Como configurar maxclients

Verifique:

redis-cli CONFIG GET maxclients

Não aumente o valor sem analisar:

Recomendações para o sistema Linux

O Redis pode apresentar avisos relacionados às configurações do sistema operacional.

Verifique o Transparent Huge Pages:

cat /sys/kernel/mm/transparent_hugepage/enabled

Verifique o memory overcommit:

sysctl vm.overcommit_memory

Uma configuração frequentemente recomendada para o Redis é:

vm.overcommit_memory = 1

Crie uma configuração permanente:

echo "vm.overcommit_memory = 1" > /etc/sysctl.d/99-redis.conf
sysctl --system

Teste alterações no sistema considerando também as demais cargas executadas no servidor.

Swap e Redis

O Redis é sensível à transferência das páginas de memória ativas para a swap.

Quando a swap estiver habilitada:

Verifique:

free -h
swapon --show

Como atualizar o Redis

Antes de uma atualização:

O procedimento de atualização depende do sistema operacional e do método de instalação.

Checklist de segurança do Redis

Problemas comuns do Redis

O Redis não inicia

Verifique o estado:

systemctl status redis-server

Consulte o journal:

journalctl -u redis-server -n 100 --no-pager

Possíveis causas:

Connection refused

Verifique:

ss -lntp | grep 6379

Confira o bind:

redis-cli CONFIG GET bind

Verifique o firewall:

ufw status

Confirme que:

DENIED Redis is running in protected mode

Esse erro significa que o cliente está se conectando por uma interface não confiável enquanto o Redis utiliza uma configuração de proteção.

Não desabilite o protected mode sem implementar os controles de segurança necessários.

Configure:

NOAUTH Authentication required

O cliente ainda não foi autenticado.

Conecte-se:

redis-cli --user appuser --pass 'STRONG_PASSWORD'

Ou execute:

AUTH appuser STRONG_PASSWORD

Verifique a configuração da aplicação e das ACLs.

WRONGPASS invalid username-password pair

Verifique:

NOPERM this user has no permissions

Verifique a ACL:

ACL GETUSER appuser

Analise:

OOM command not allowed

O Redis atingiu o limite maxmemory e não consegue processar a operação de escrita.

Verifique:

redis-cli INFO memory
redis-cli CONFIG GET maxmemory
redis-cli CONFIG GET maxmemory-policy

Possíveis soluções:

Alto consumo de memória

Verifique:

redis-cli INFO memory
redis-cli --bigkeys
redis-cli --memkeys

Possíveis causas:

Alta latência

Verifique:

redis-cli --latency
redis-cli SLOWLOG GET 20
redis-cli INFO commandstats

Possíveis causas:

O snapshot RDB não é criado

Verifique:

redis-cli INFO persistence
df -h
ls -ld /var/lib/redis

Possíveis causas:

O arquivo AOF está corrompido

Pare o Redis e crie uma cópia do arquivo antes de tentar o reparo.

Utilize o utilitário padrão:

redis-check-aof --fix PATH_TO_AOF

Não modifique o AOF original sem criar um backup.

A réplica não consegue se conectar

Verifique:

O Sentinel não executa o failover

Verifique:

Quando vale a pena utilizar o Redis?

Necessidade O Redis é adequado?
Cache de APIs e consultas ao banco Sim
Armazenamento de sessões de usuários Sim
Filas e eventos em tempo real Sim
Rankings e contadores Sim
Banco de dados relacional principal Normalmente não
Conjunto de dados maior que a RAM disponível Exige outra arquitetura ou clusterização

Perguntas frequentes (FAQ)

O que é Redis?

Redis é um armazenamento de dados de alto desempenho em memória utilizado para cache, sessões, filas, contadores, rankings e cargas de trabalho em tempo real.

É possível implantar o Redis pela Serverspace?

Sim. O Redis está disponível no catálogo de 1-Click Apps e pode ser selecionado durante a criação da VPS.

Qual porta o Redis utiliza?

Por padrão, o Redis aceita conexões de clientes na porta TCP 6379.

Posso expor o Redis à internet?

A exposição pública direta não é recomendada. Utilize rede privada, firewall, ACL, autenticação, VPN, túnel SSH ou TLS.

Como verificar se o Redis está funcionando?

Conecte-se com redis-cli e execute PING. Um servidor funcionando corretamente retorna PONG.

O Redis precisa de senha?

Sim. Em produção, utilize ACL e crie usuários separados com o mínimo de permissões necessárias.

O que é protected mode?

Protected mode restringe conexões inseguras quando o Redis não possui proteção de rede e autenticação adequadas.

O Redis armazena dados somente na RAM?

O conjunto de dados ativo permanece na memória, mas o Redis pode salvar as informações em disco por meio de snapshots RDB e AOF.

Qual é melhor: RDB ou AOF?

O RDB cria snapshots compactos periódicos, enquanto o AOF registra as operações de escrita. A escolha depende da perda de dados aceitável, desempenho e requisitos de restauração.

É possível habilitar RDB e AOF simultaneamente?

Sim. Implantações críticas podem utilizar os dois mecanismos de persistência.

O que é maxmemory?

maxmemory limita a quantidade de memória que o Redis pode utilizar para armazenar dados.

O que acontece quando a memória acaba?

O comportamento é definido por maxmemory-policy. O Redis pode remover chaves conforme a política selecionada ou rejeitar novas operações de escrita.

As chaves de cache devem ter TTL?

Sim. Valores temporários e de cache normalmente devem ter TTL para serem removidos automaticamente.

O Redis pode ser utilizado como fila?

Sim. Lists podem ser utilizadas para filas simples, enquanto Redis Streams e grupos de consumidores oferecem processamento mais confiável.

O que é Redis Sentinel?

Sentinel monitora os nós primary e replica e pode promover automaticamente uma réplica quando o primary fica indisponível.

O que é Redis Cluster?

Redis Cluster distribui os dados entre vários nós e oferece escalabilidade horizontal e alta disponibilidade por shard.

Uma réplica substitui o backup?

Não. Uma réplica pode reproduzir exclusões acidentais ou alterações incorretas. Os backups devem ser armazenados separadamente.

Como encontrar chaves grandes?

Utilize redis-cli --bigkeys ou redis-cli --memkeys.

Por que não utilizar KEYS em produção?

KEYS percorre todo o espaço de chaves e pode bloquear o Redis por muito tempo. Utilize SCAN para uma busca incremental.

O Redis é adequado para produção?

Sim, desde que ACL, firewall, rede privada, limites de memória, persistência, backups, monitoramento e alta disponibilidade estejam configurados corretamente.

Implante o Redis na Serverspace

O aplicativo Redis pronto para uso da Serverspace permite criar um servidor para cache, sessões, filas e serviços em tempo real sem instalar os pacotes manualmente.

Depois da implantação, você recebe:

O servidor pode ser utilizado para:

O administrador mantém acesso completo ao sistema operacional e pode gerenciar a configuração do Redis, firewall, persistência, backups, replicação e recursos da VPS.

Conclusão

Redis é um componente de infraestrutura de alto desempenho adequado para cache, sessões de usuários, filas, contadores, rankings e processamento de eventos em tempo real.

A implantação pela Serverspace reduz o trabalho inicial de configuração do servidor. Basta selecionar o Redis no catálogo de 1-Click Apps, configurar os recursos e criar a VPS.

Depois da instalação, não exponha imediatamente a porta 6379 para toda a internet. Configure bind, protected mode, ACL, regras de firewall e conectividade privada entre a aplicação e o Redis.

Uma implantação em produção também deve limitar a memória com maxmemory, utilizar uma política de eviction adequada, configurar RDB ou AOF, criar backups externos e monitorar latência, consumo de memória, remoção de chaves, persistência e estado da replicação.