Configurar cache em memória é uma das formas mais eficazes de melhorar performance do servidor dedicado. Redis e Memcached são as duas soluções mais populares para cache em memória. Neste guia, você aprenderá a instalar, configurar e otimizar ambos.
O que é Cache em Memória?
Cache em memória armazena dados frequentemente acessados na RAM, que é muito mais rápida que disco. Isso reduz:
- Carga no banco de dados
- Tempo de resposta de aplicações
- Uso de recursos do servidor
- Latência para usuários
Redis vs Memcached
Ambos são soluções de cache em memória, mas têm diferenças importantes:
Redis
- Estruturas de dados: Strings, listas, sets, hashes, sorted sets
- Persistência: Pode persistir dados em disco
- Replicação: Suporta replicação master-slave
- Mais recursos: Pub/sub, transações, Lua scripting
- Uso de memória: Um pouco mais que Memcached
Memcached
- Simples: Apenas key-value
- Mais rápido: Para operações simples
- Menos memória: Mais eficiente em uso de RAM
- Distribuído: Fácil de distribuir entre servidores
- Sem persistência: Dados são voláteis
Instalando Redis
Ubuntu/Debian:
apt update
apt install redis-server -y
CentOS/RHEL:
yum install epel-release -y
yum install redis -y
Inicie e habilite Redis:
systemctl start redis
systemctl enable redis
Configurando Redis
Edite arquivo de configuração:
nano /etc/redis/redis.conf
Configurações importantes:
- bind 127.0.0.1: Apenas localhost (mude se precisar acesso remoto)
- maxmemory: Limite de memória (ex: maxmemory 2gb)
- maxmemory-policy: Política quando memória cheia (allkeys-lru recomendado)
- save: Configurações de persistência
Reinicie Redis após alterações:
systemctl restart redis
Instalando Memcached
Ubuntu/Debian:
apt update
apt install memcached -y
CentOS/RHEL:
yum install memcached -y
Inicie e habilite Memcached:
systemctl start memcached
systemctl enable memcached
Configurando Memcached
Edite arquivo de configuração:
nano /etc/memcached.conf
Configurações importantes:
- -m: Memória em MB (ex: -m 2048 para 2GB)
- -l: IP para escutar (127.0.0.1 para apenas localhost)
- -p: Porta (padrão 11211)
- -u: Usuário para executar
Reinicie Memcached:
systemctl restart memcached
Testando Redis
Conecte ao Redis CLI:
redis-cli
Teste comandos básicos:
SET teste "Hello Redis"
GET teste
PING
Testando Memcached
Instale cliente telnet ou use nc:
apt install telnet -y
telnet localhost 11211
Teste comandos:
set teste 0 3600 11
Hello World
get teste
stats
Integrando com Aplicações
PHP com Redis
Instale extensão PHP Redis:
apt install php-redis -y
# ou
pecl install redis
Exemplo de uso:
= new Redis();
('127.0.0.1', 6379);
('chave', 'valor');
= ('chave');
PHP com Memcached
Instale extensão:
apt install php-memcached -y
Exemplo de uso:
= new Memcached();
('127.0.0.1', 11211);
('chave', 'valor', 3600);
= ('chave');
Otimização de Performance
Redis:
- Ajuste maxmemory: Baseado em RAM disponível
- Escolha política correta: allkeys-lru para cache geral
- Desabilite persistência: Se não precisar, para melhor performance
- Use pipelining: Para múltiplas operações
Memcached:
- Ajuste memória: Baseado em necessidades
- Distribua entre servidores: Para escalabilidade
- Monitore stats: Para identificar problemas
Segurança
- Firewall: Bloqueie portas Redis/Memcached de acesso externo
- Bind localhost: Configure para escutar apenas localhost
- Senha Redis: Configure requirepass no Redis
- Atualizações: Mantenha sempre atualizado
Monitoramento
Monitore uso e performance:
- Redis: redis-cli INFO, redis-cli MONITOR
- Memcached: stats, stats items, stats slabs
- Ferramentas: RedisInsight, phpRedisAdmin
Quando Usar Cada Um?
Use Redis quando:
- Precisa de estruturas de dados complexas
- Quer persistência de dados
- Precisa de recursos avançados (pub/sub, etc.)
Use Memcached quando:
- Precisa apenas de cache simples key-value
- Quer máxima performance para operações simples
- Precisa distribuir cache entre servidores
Conclusão
Configurar cache em memória (Redis ou Memcached) é essencial para melhorar performance de servidor dedicado. Ambos são excelentes soluções, escolha baseado em suas necessidades específicas. Redis oferece mais recursos, Memcached oferece simplicidade e velocidade.
Na OTH Host, podemos ajudá-lo a configurar e otimizar cache no seu servidor dedicado. Entre em contato para suporte especializado.