O Redis tuning em produção é fundamental para obter baixa latência, estabilidade e utilização eficiente dos recursos do servidor. Embora o Redis seja conhecido por sua velocidade, uma configuração inadequada de memória, persistência, conexões ou limites do sistema operacional pode transformar um serviço extremamente rápido em um ponto de contenção da infraestrutura.
Em ambientes reais, Redis pode ser utilizado como cache de páginas, cache de objetos, armazenamento de sessões, filas, rate limiting, armazenamento temporário e até como banco de dados primário em determinadas arquiteturas. Cada cenário possui necessidades diferentes e, por isso, simplesmente aumentar a quantidade de RAM nem sempre resolve problemas de performance.
Neste guia, você verá como realizar Redis tuning em produção de forma estruturada, analisando memória, CPU, persistência, conexões, comandos lentos, eviction, latência, sistema operacional e segurança.
O objetivo não é aplicar configurações arbitrárias, mas entender quais métricas devem ser observadas antes de alterar o ambiente.
O que é Redis tuning em produção?
Redis tuning em produção é o processo de analisar e ajustar o Redis e o sistema operacional para que o serviço opere com desempenho previsível e estabilidade sob carga real.
O tuning pode envolver:
- gerenciamento de memória;
- política de eviction;
- persistência RDB e AOF;
- número de conexões;
- limites de arquivos;
- utilização de CPU;
- latência;
- comandos lentos;
- fragmentação de memória;
- configuração de rede;
- comportamento do kernel Linux;
- segurança;
- monitoramento;
- dimensionamento da infraestrutura.
Um erro comum é tratar tuning como uma lista de parâmetros que devem ser alterados imediatamente.
Na realidade, o processo correto é:
medir → identificar gargalo → alterar → testar → medir novamente.
Essa metodologia reduz o risco de causar indisponibilidade ou degradar o desempenho.
Por que o Redis precisa de tuning?
O Redis mantém grande parte dos dados em memória. Isso proporciona tempos de resposta extremamente baixos, mas também cria uma relação direta entre capacidade de RAM, tamanho do dataset e estabilidade do servidor.
Imagine um servidor com:
- 16 GB de RAM;
- Redis utilizando 10 GB;
- MariaDB utilizando 3 GB;
- PHP-FPM utilizando 2 GB;
- sistema operacional e outros serviços utilizando 1 GB.
Nesse cenário, praticamente toda a memória disponível já está comprometida.
Se o Redis crescer mais alguns gigabytes, o Linux poderá começar a utilizar swap ou, em situações mais graves, o OOM Killer poderá encerrar processos.
Por isso, Redis tuning em produção começa pelo planejamento de recursos.
1. Antes do tuning: conheça o ambiente
Antes de alterar qualquer configuração, levante informações do servidor.
Execute:
free -h
Depois:
uptime
Verifique CPU:
lscpu
Analise processos:
top
Ou:
htop
Verifique espaço em disco:
df -h
E:
df -i
Também é importante verificar a versão do Redis:
redis-server --version
Caso o serviço esteja ativo:
systemctl status redis
Em algumas distribuições o serviço pode ser chamado de:
systemctl status redis-server
2. Analise o Redis antes de alterar configurações
O comando mais importante para iniciar uma análise é:
redis-cli INFO
Para analisar apenas memória:
redis-cli INFO memory
Algumas informações importantes incluem:
used_memory
used_memory_human
used_memory_rss
used_memory_peak
used_memory_peak_human
maxmemory
maxmemory_policy
mem_fragmentation_ratio
Esses indicadores ajudam a responder perguntas como:
- Quanto o Redis realmente está usando?
- Qual foi o pico de utilização?
- Existe limite de memória?
- Existe fragmentação?
- O Redis está próximo do limite?
3. Entendendo used_memory e used_memory_rss
Uma das análises mais importantes no Redis tuning em produção é comparar:
used_memory
com:
used_memory_rss
used_memory representa a memória que o Redis contabiliza internamente.
used_memory_rss representa aproximadamente a memória residente observada pelo sistema operacional.
Quando existe uma diferença significativa entre os valores, pode existir fragmentação ou comportamento relacionado ao alocador de memória.
Exemplo:
used_memory: 5 GB
used_memory_rss: 7 GB
Nesse cenário, o processo pode estar ocupando significativamente mais memória física do que a quantidade efetivamente contabilizada pelo Redis.
Verifique:
redis-cli INFO memory | grep -E 'used_memory|mem_fragmentation'
4. Fragmentação de memória
O parâmetro:
mem_fragmentation_ratio
é útil para identificar possíveis problemas relacionados à alocação de memória.
Por exemplo:
mem_fragmentation_ratio:1.20
não significa automaticamente que existe um problema grave.
É necessário analisar o contexto.
Fragmentação pode ocorrer devido a:
- criação e remoção frequente de chaves;
- diferentes tamanhos de objetos;
- comportamento do allocator;
- longo tempo de execução;
- alterações significativas no dataset.
Por isso, não é recomendado tomar decisões apenas observando um número isolado.
5. Defina maxmemory
Em servidores de produção, uma das configurações mais importantes é:
maxmemory
Por exemplo:
maxmemory 8gb
Isso cria um limite para a memória utilizada pelo dataset do Redis.
O valor ideal depende da função do Redis e dos demais serviços existentes no servidor.
Em um VPS que executa:
- Nginx;
- PHP-FPM;
- MariaDB;
- Redis;
- monitoramento;
não é recomendável entregar praticamente toda a RAM ao Redis.
O sistema operacional e os demais serviços precisam de margem.
6. Como escolher o limite de memória
Não existe um percentual universal que funcione para todos os servidores.
Uma abordagem melhor é calcular:
RAM total − RAM reservada para sistema e demais serviços = orçamento disponível para Redis
Por exemplo:
RAM total: 16 GB
Sistema operacional: 2 GB
MariaDB: 4 GB
PHP-FPM/Nginx: 4 GB
Margem operacional: 2 GB
Redis: aproximadamente 4 GB
O valor final deve ser validado através de monitoramento.
Em ambientes dedicados exclusivamente ao Redis, o planejamento pode ser completamente diferente.
7. Escolha corretamente a política de eviction
Quando o Redis atinge maxmemory, ele precisa saber o que fazer.
A configuração é:
maxmemory-policy
Algumas políticas comuns são:
noeviction
allkeys-lru
allkeys-lfu
volatile-lru
volatile-lfu
allkeys-random
volatile-random
Para um cache, uma política como:
maxmemory-policy allkeys-lru
pode ser apropriada quando o objetivo é remover chaves menos recentemente utilizadas.
Outra alternativa é:
maxmemory-policy allkeys-lfu
quando a frequência de acesso é mais relevante.
Entretanto, a política correta depende da aplicação.
8. Redis como cache é diferente de Redis como banco de dados
Esse é um dos pontos mais importantes do Redis tuning em produção.
Se Redis está sendo utilizado apenas como cache, perder uma chave normalmente significa que a aplicação poderá reconstruí-la.
Nesse caso, eviction pode ser perfeitamente aceitável.
Mas imagine Redis armazenando:
- sessões críticas;
- filas;
- dados persistentes;
- informações transacionais.
Nesse cenário, permitir eviction indiscriminadamente pode provocar problemas de aplicação.
Portanto:
Cache ≠ banco de dados persistente.
A arquitetura deve definir essa diferença antes do tuning.
9. Configuração de persistência RDB
O Redis pode utilizar snapshots RDB.
Exemplo:
save 900 1
save 300 10
save 60 10000
Essas regras determinam quando snapshots podem ser criados.
O RDB possui vantagens:
- snapshots compactos;
- recuperação relativamente rápida;
- menor impacto de escrita contínua comparado ao AOF em determinados cenários.
Porém, existe uma janela de perda de dados entre snapshots.
Por exemplo, se o último snapshot ocorreu há alguns minutos e o servidor falhar, alterações posteriores podem não estar no arquivo RDB.
10. Configuração de AOF
Outra opção é o AOF:
appendonly yes
O Redis registra operações de escrita para permitir recuperação posterior.
Uma configuração comum é:
appendfsync everysec
Esse modo busca equilibrar durabilidade e desempenho.
Entretanto, AOF aumenta atividade de disco.
Por isso, em um servidor onde o armazenamento já está sofrendo com alta latência, o impacto deve ser analisado.
11. RDB versus AOF
A escolha depende do objetivo.
RDB
Pode ser interessante quando:
- snapshots são suficientes;
- recuperação rápida é importante;
- o ambiente tolera alguma perda de dados entre snapshots.
AOF
Pode ser interessante quando:
- maior durabilidade é necessária;
- operações precisam ser registradas com maior granularidade;
- o custo adicional de I/O é aceitável.
Em ambientes críticos, também é importante considerar backups externos.
Persistência local não substitui backup.
12. Analise o uso de CPU
Redis é conhecido por operar rapidamente, mas CPU pode se tornar gargalo dependendo do padrão de uso.
Verifique:
top
Ou:
pidstat -p $(pidof redis-server) 1
Se disponível:
htop
Também é interessante analisar:
redis-cli INFO cpu
Procure indicadores relacionados ao tempo de CPU consumido.
Se Redis apresenta CPU elevada, investigue antes de simplesmente aumentar o número de CPUs do servidor.
13. Comandos lentos podem causar gargalos
O Redis tradicionalmente utiliza um modelo de execução que torna comandos complexos potencialmente problemáticos.
Um comando que leva muito tempo pode bloquear o processamento de outras operações.
Verifique:
redis-cli SLOWLOG GET 20
Também pode configurar:
slowlog-log-slower-than 10000
O valor é medido em microssegundos.
Nesse exemplo:
10000 µs = 10 ms
Para ambientes de alta performance, pode ser interessante utilizar um limite menor para investigação.
14. Cuidado com comandos O(N)
Algumas operações podem trabalhar sobre grandes quantidades de elementos.
Exemplos históricos de comandos que exigem atenção incluem operações sobre:
- listas;
- conjuntos;
- hashes;
- sorted sets;
- chaves.
O problema não é necessariamente o comando existir, mas a quantidade de dados processada.
Uma operação que funciona bem com 100 elementos pode se tornar problemática com milhões.
Por isso, o design da aplicação é parte fundamental do Redis tuning em produção.
15. Evite KEYS em produção
Um exemplo clássico é:
redis-cli KEYS "*"
Em bases pequenas, pode parecer inofensivo.
Em um Redis com milhões de chaves, entretanto, essa operação pode causar impacto significativo.
Para inspeção, prefira:
redis-cli SCAN 0
Com padrão:
redis-cli --scan --pattern 'cache:*'
Essa abordagem permite percorrer as chaves de forma mais adequada para ambientes maiores.
16. Configure o número máximo de clientes
O Redis possui:
maxclients
Exemplo:
maxclients 10000
Mas simplesmente aumentar esse número não resolve problemas de conexão.
Cada cliente consome recursos.
Se uma aplicação abre milhares de conexões desnecessariamente, o problema pode estar no pool de conexões ou na arquitetura da aplicação.
Portanto, analise:
redis-cli INFO clients
Procure:
connected_clients
blocked_clients
17. Connection pooling
Aplicações web podem gerar uma quantidade enorme de conexões quando mal configuradas.
Imagine:
1.000 requisições/s
e cada requisição abrindo uma nova conexão Redis.
Isso pode gerar overhead desnecessário.
Um pool de conexões pode reduzir esse comportamento.
A configuração depende da linguagem e framework utilizados:
- PHP;
- Python;
- Node.js;
- Java;
- Go;
- Ruby;
- aplicações .NET.
Portanto, otimizar apenas o Redis sem analisar os clientes pode não resolver o problema.
18. Analise blocked_clients
Execute:
redis-cli INFO clients
Observe:
blocked_clients
Um número elevado pode indicar operações bloqueantes ou aplicações aguardando determinados eventos.
Esse indicador deve ser analisado junto com:
redis-cli SLOWLOG GET
e métricas da aplicação.
19. Monitore hits e misses
Quando Redis é utilizado como cache, dois indicadores são extremamente importantes:
keyspace_hits
keyspace_misses
Consulte:
redis-cli INFO stats
A taxa de acerto pode ser calculada aproximadamente como:
hits / (hits + misses)
Por exemplo:
hits = 900.000
misses = 100.000
Resultado:
90%
Uma taxa de cache hit baixa pode indicar:
- TTL inadequado;
- cache pequeno;
- chaves incorretas;
- estratégia de cache inadequada;
- dados que mudam frequentemente.
20. TTL e expiração
Caches precisam de políticas de expiração.
Exemplo:
redis-cli SET minha-chave valor EX 3600
Nesse caso, a chave expira aproximadamente após:
3600 segundos
ou:
1 hora
TTL muito curto pode causar muitos misses.
TTL muito longo pode consumir memória desnecessariamente.
O valor correto depende da natureza dos dados.
21. Monitoramento de memória
Para ambientes de produção, monitore pelo menos:
- memória utilizada;
- RSS;
- fragmentação;
- limite de memória;
- evictions;
- hits;
- misses;
- conexões;
- comandos lentos;
- CPU;
- latência;
- I/O;
- erros.
Um comando útil:
redis-cli INFO | egrep 'used_memory|maxmemory|evicted_keys|keyspace_hits|keyspace_misses|connected_clients'
22. Monitore evicted_keys
O contador:
evicted_keys
é particularmente importante.
Consulte:
redis-cli INFO stats | grep evicted
Se esse contador cresce rapidamente, o Redis está removendo chaves porque atingiu o limite configurado.
Em um cache, isso pode ser comportamento esperado.
Em outros casos, pode representar um problema sério.
O contexto da aplicação determina a interpretação.
23. Latência do Redis
Para verificar latência:
redis-cli --latency
Você pode também utilizar:
redis-cli --latency-history
Esses comandos ajudam a observar variações ao longo do tempo.
Latência elevada pode estar relacionada a:
- CPU;
- comandos pesados;
- swapping;
- I/O;
- virtualização;
- rede;
- congestionamento;
- arquitetura da aplicação.
24. Redis e swap
Um dos pontos mais importantes em servidores Linux é evitar que o Redis entre em forte pressão de swap.
Verifique:
free -h
E:
swapon --show
Também:
vmstat 1
Se houver atividade constante de swap, investigue a pressão de memória.
Redis foi projetado para trabalhar com dados em memória. Forçar o processo a depender intensamente de swap pode aumentar drasticamente a latência.
25. Configuração do swappiness
Verifique:
sysctl vm.swappiness
O valor adequado depende da arquitetura do servidor.
Não existe um número universal que deva ser aplicado cegamente.
Antes de alterar:
sysctl vm.swappiness
Depois de uma alteração, monitore o comportamento.
O objetivo é reduzir pressão desnecessária de swap sem comprometer o restante do sistema.
26. Transparent Huge Pages
Em determinadas cargas Redis, Transparent Huge Pages (THP) pode causar impactos de latência.
Verifique:
cat /sys/kernel/mm/transparent_hugepage/enabled
O comportamento recomendado depende da versão do kernel e do ambiente.
Em servidores Redis de produção, THP deve ser analisado durante testes de performance.
Não altere o kernel em produção sem avaliar impacto e possibilidade de rollback.
27. Limites de arquivos
Redis pode trabalhar com milhares de conexões.
Verifique:
ulimit -n
Também:
systemctl show redis --property=LimitNOFILE
Caso o limite seja insuficiente, o serviço poderá encontrar problemas ao abrir sockets ou arquivos.
Em ambientes de alta concorrência, LimitNOFILE deve ser dimensionado de acordo com o número esperado de conexões.
28. Configuração de rede
Quando Redis e aplicação estão no mesmo servidor, a comunicação pode ocorrer localmente.
Nesse caso, normalmente:
127.0.0.1
é suficiente.
Quando Redis está em servidor separado:
Aplicação → Rede → Redis
a latência da rede passa a fazer parte da latência total.
Por isso, Redis remoto deve ser dimensionado considerando:
- RTT;
- largura de banda;
- perda de pacotes;
- congestionamento;
- TLS;
- quantidade de comandos.
29. Segurança também faz parte do tuning
Redis exposto diretamente à Internet é uma configuração que exige extremo cuidado.
Verifique:
bind 127.0.0.1
quando o Redis só precisa ser acessado localmente.
Também é importante utilizar autenticação e controles de rede apropriados quando necessário.
Verifique firewall:
ss -lntp | grep 6379
A porta padrão é:
6379
Não significa que ela deva ficar publicamente acessível.
30. Não altere comandos perigosos sem necessidade
Dependendo do ambiente, comandos administrativos podem ser restringidos.
O importante é evitar mudanças que dificultem operações legítimas ou administração do serviço.
Segurança deve ser implementada considerando:
- autenticação;
- firewall;
- rede privada;
- TLS quando necessário;
- ACLs;
- princípio do menor privilégio.
31. Redis em VPS
Em um VPS, o principal desafio é a quantidade limitada de recursos.
Um servidor com:
4 vCPU
8 GB RAM
pode executar Redis muito bem, desde que o workload seja compatível.
O erro é reservar quase toda a memória para Redis sem considerar:
- PHP-FPM;
- banco de dados;
- Nginx;
- sistema operacional;
- agentes de monitoramento;
- processos auxiliares.
No VPS, Redis tuning em produção deve sempre considerar a concorrência entre serviços.
32. Redis em servidor dedicado
Em um servidor dedicado, existe maior liberdade de dimensionamento.
É possível separar recursos:
CPU → Redis
RAM → Redis
NVMe → persistência
Rede → aplicação
Isso permite maior previsibilidade.
Mesmo assim, mais hardware não elimina a necessidade de tuning.
Uma aplicação que executa operações inadequadas continuará apresentando problemas mesmo em servidores muito grandes.
33. Redis em cloud
Em cloud, é necessário considerar também:
- custo de RAM;
- IOPS;
- latência entre zonas;
- tráfego;
- escalabilidade;
- alta disponibilidade;
- snapshots;
- failover.
Se a aplicação estiver em uma região e Redis em outra, a latência pode aumentar significativamente.
Sempre que possível, serviços que conversam intensamente entre si devem estar próximos na topologia de rede.
34. Checklist de Redis tuning em produção
Antes de considerar o tuning concluído, verifique:
Memória
redis-cli INFO memory
Clientes
redis-cli INFO clients
Estatísticas
redis-cli INFO stats
CPU
redis-cli INFO cpu
Comandos lentos
redis-cli SLOWLOG GET 20
Latência
redis-cli --latency
Sistema
free -h
vmstat 1
Disco
iostat -xz 1
Arquivos abertos
systemctl show redis --property=LimitNOFILE
Rede
ss -s
35. Exemplo de configuração inicial
Um exemplo genérico para um ambiente de cache pode conter:
bind 127.0.0.1
protected-mode yes
maxmemory 4gb
maxmemory-policy allkeys-lru
appendonly no
tcp-keepalive 60
Essa configuração é apenas um ponto de partida.
Não deve ser copiada para qualquer servidor sem analisar o workload.
Se Redis estiver sendo usado como banco de dados persistente, por exemplo, appendonly no pode não atender aos requisitos da aplicação.
36. Como validar alterações
Uma alteração deve ser acompanhada por métricas.
Por exemplo:
Antes
Latency: 4 ms
CPU: 70%
Memory: 7 GB
Evictions: 0
Depois
Latency: 1.5 ms
CPU: 55%
Memory: 6 GB
Evictions: 0
Nesse caso, existe evidência de melhoria.
O importante é não confiar apenas na percepção.
Uma página parecer mais rápida não significa necessariamente que o Redis foi otimizado.
37. O erro de alterar dezenas de parâmetros ao mesmo tempo
Um dos maiores problemas em tuning é modificar:
- maxmemory;
- eviction;
- AOF;
- RDB;
- kernel;
- swappiness;
- TCP;
- limites;
- pools;
tudo simultaneamente.
Se o desempenho mudar, será difícil identificar qual alteração provocou o resultado.
Uma estratégia melhor é alterar poucos parâmetros por vez.
Depois:
medir → comparar → documentar
38. Redis tuning deve ser baseado em métricas
Um processo profissional de otimização pode seguir cinco etapas.
Etapa 1 — Baseline
Colete:
- CPU;
- RAM;
- latência;
- hits;
- misses;
- evictions;
- conexões;
- slowlog.
Etapa 2 — Identificação
Determine o gargalo.
Etapa 3 — Alteração
Faça uma mudança controlada.
Etapa 4 — Teste
Observe o comportamento sob carga.
Etapa 5 — Documentação
Registre:
parâmetro anterior
parâmetro novo
motivo
resultado
data
rollback
Isso transforma tuning em processo operacional.
39. Monitoramento contínuo
Redis não deve ser otimizado apenas quando apresenta problemas.
Um ambiente de produção deve possuir monitoramento contínuo.
Ferramentas como:
- Zabbix;
- Prometheus;
- Grafana;
- Netdata;
- Checkmk;
podem acompanhar métricas importantes.
Para ambientes com muitos servidores, dashboards ajudam a identificar tendências antes que um incidente aconteça.
40. Quando aumentar a RAM?
Aumentar RAM pode ser necessário quando:
- dataset cresce constantemente;
- eviction aumenta;
- cache hit rate diminui;
- Redis está próximo do limite;
- existe pressão de memória;
- swap começa a ser utilizado.
Porém, antes de comprar mais RAM, verifique se o problema não é causado por:
- chaves que nunca expiram;
- TTL excessivo;
- objetos muito grandes;
- cache desnecessário;
- vazamento na aplicação.
41. Quando aumentar CPU?
CPU adicional pode ajudar quando o workload realmente possui capacidade de utilizar mais processamento.
Mas CPU elevada também pode ser causada por:
- comandos ineficientes;
- estruturas de dados inadequadas;
- operações sobre datasets gigantes;
- aplicações fazendo consultas desnecessárias.
Primeiro identifique a causa.
Depois dimensione hardware.
42. Quando utilizar Redis separado?
Em um servidor com:
Nginx
PHP-FPM
MariaDB
Redis
todos competem pelos mesmos recursos.
À medida que o tráfego cresce, separar Redis pode melhorar isolamento.
Exemplo:
Servidor Web
|
+---- PHP-FPM
+---- Nginx
|
+---- Redis Server
Essa arquitetura permite dimensionar cada componente de acordo com sua função.
43. Alta disponibilidade
Em ambientes críticos, um único Redis pode representar um ponto único de falha.
Dependendo dos requisitos, podem ser avaliadas arquiteturas como:
- Redis Sentinel;
- Redis Cluster;
- réplicas;
- serviços gerenciados em cloud.
A escolha depende de:
- tamanho do dataset;
- necessidade de failover;
- disponibilidade desejada;
- padrão de escrita;
- complexidade operacional.
Alta disponibilidade não deve ser implementada apenas porque existe a tecnologia.
Ela precisa resolver um requisito real.
44. Backup do Redis
Mesmo quando Redis é utilizado como cache, é importante entender se os dados precisam ser recuperáveis.
Se Redis contém dados importantes, considere:
- RDB;
- AOF;
- snapshots;
- cópias externas;
- testes de restauração.
Um backup que nunca foi restaurado em teste ainda não comprovou sua eficácia operacional.
45. Como identificar um Redis mal dimensionado
Alguns sinais comuns:
used_memorypróximo demaxmemory;- crescimento constante de
evicted_keys; - swap ativo;
- latência crescente;
- CPU constantemente elevada;
- grande número de conexões;
blocked_clientselevado;- slowlog com operações pesadas;
- fragmentação elevada;
- baixo cache hit rate.
Esses indicadores não significam automaticamente que Redis está mal configurado.
Eles são sinais para investigação.
Conclusão
O Redis tuning em produção deve ser tratado como um processo contínuo de observação, dimensionamento e otimização.
Os principais pontos são:
- dimensionar corretamente a memória;
- configurar
maxmemory; - escolher uma política de eviction compatível com o workload;
- analisar RDB e AOF;
- monitorar CPU;
- investigar comandos lentos;
- evitar operações potencialmente pesadas;
- controlar conexões;
- acompanhar hits e misses;
- monitorar eviction;
- evitar pressão excessiva de swap;
- revisar limites do sistema operacional;
- proteger o Redis contra acesso indevido;
- monitorar continuamente;
- testar alterações antes de aplicá-las amplamente.
O mais importante é evitar configurações copiadas de outros servidores sem entender o cenário.
Um Redis utilizado como cache em um VPS possui necessidades completamente diferentes de um Redis utilizado como armazenamento persistente em um cluster cloud.
A melhor estratégia de Redis tuning em produção é sempre baseada em métricas reais, testes controlados e conhecimento do workload.
FAQ — Redis Tuning em Produção
É o processo de analisar e ajustar Redis e o sistema operacional para obter melhor desempenho, estabilidade, previsibilidade e utilização dos recursos em um ambiente real.
Não existe um valor universal. O limite deve considerar a RAM disponível, o tamanho do dataset e os demais serviços executados no servidor.
Para caches, políticas como allkeys-lru ou allkeys-lfu podem ser consideradas. Para dados que não podem ser removidos automaticamente, a estratégia precisa ser diferente.
Redis depende de memória RAM para oferecer baixa latência. Swap intenso pode aumentar significativamente a latência e deve ser evitado.
Depende do uso. Para caches descartáveis, AOF pode não ser necessário. Para dados que precisam de maior durabilidade, AOF pode fazer parte da estratégia de persistência.
Use:redis-cli INFO memory
Use:redis-cli SLOWLOG GET 20
Use:redis-cli --latency
Sim. Porém, todos os serviços competirão pelos mesmos recursos. É necessário dimensionar RAM e CPU cuidadosamente.
Quando o crescimento do workload, necessidade de isolamento, disponibilidade ou consumo de recursos justificar a separação.
Veja Também:
Como Otimizar VPS, Servidor Dedicado ou Cloud: Guia Completo
Servidor Lento: Identifique Gargalo em VPS, Dedicado ou Cloud
CPU 100%: Diferenças Entre VM e Bare Metal no Servidor
Load Average em Ambiente Virtualizado: Como Interpretar VPS e Cloud
Steal Time Alto na VPS: O Que É e Como Resolver o Gargalo
Como Medir Performance de Servidor Linux na Prática (Além da CPU)
