⚙️ Memcached na plataforma SaveinCloud
Este guia tem como objetivo instruir a instalação, configuração, integração e boas práticas da stack Memcached versão 1.6.38 na plataforma PaaS da SaveinCloud, ideal para aplicações que demandam alta performance no cache de dados em memória.
O Memcached é um sistema de cache distribuído em memória, de altíssima performance, utilizado para reduzir carga em bancos de dados e acelerar aplicações web.
🚀 Como criar sua instância Memcached
Passo 1 – Criando a instância
- Acesse o painel da SaveinCloud.
- Clique em Novo Ambiente.
- Na aba Cache, selecione Memcached 1.6.38.
- Defina os recursos (CPU, RAM e Storage) conforme a necessidade.
- Clique em Criar e aguarde a implantação.
🔧 Acesso ao Memcached
-
O Memcached não possui interface web. A administração é feita via linha de comando ou via aplicação cliente.
-
Utilize qualquer cliente Memcached compatível com sua linguagem (PHP, Python, Java, Node.js, etc).
-
Para testar conexões, use:
telnet <IP_da_instância> 11211
A porta padrão do Memcached é 11211.
🌐 Abertura de portas recomendadas
Porta | Descrição |
---|---|
11211 | Porta TCP do Memcached |
⚠️ Importante: Por padrão, o Memcached não possui autenticação. Portanto, NUNCA exponha a porta 11211 para a internet. Permita acesso apenas por IPs internos ou IPs específicos da sua aplicação.
🔌 Integração simplificada com sua aplicação
🔸 PHP
$mem = new Memcached();
$mem->addServer('IP_DO_MEMCACHED', 11211);
$mem->set('chave_teste', 'valor', 300);
echo $mem->get('chave_teste');
🔸 Python
from pymemcache.client import base
client = base.Client(('IP_DO_MEMCACHED', 11211))
client.set('chave_teste', 'valor')
print(client.get('chave_teste'))
🔸 Node.js
const memjs = require("memjs");
const client = memjs.Client.create("IP_DO_MEMCACHED:11211");
client.set("chave_teste", "valor", { expires: 300 });
client.get("chave_teste", (err, val) => console.log(val.toString()));
🔸 Java
MemcachedClient client = new MemcachedClient(new InetSocketAddress("IP_DO_MEMCACHED", 11211));
client.set("chave_teste", 300, "valor");
System.out.println(client.get("chave_teste"));
✅ Substitua
IP_DO_MEMCACHED
pelo IP privado da sua instância.
🔐 Acesso seguro
- Configure firewall restringindo o acesso à porta 11211 apenas para os IPs da sua aplicação.
📜 Comandos úteis
🔸 Verificar status da conexão
echo stats | nc <IP_da_instância> 11211
🔸 Limpar todos os caches
echo flush_all | nc <IP_da_instância> 11211
♻️ Backup e Persistência
⚠️ O Memcached não oferece persistência de dados. Todo conteúdo armazenado é volátil e reside na memória.
Para cenários que exigem persistência, considere utilizar o Redis, que possui esta funcionalidade.
📈 Monitoramento
- Métricas importantes:
- Uso de memória
- Taxa de acertos (Hit Ratio)
- QPS (Queries per second)
- Conexões abertas
🔄 Escalabilidade
- Horizontal: Adicione novas instâncias e distribua as chaves entre os nós.
- O sharding deve ser feito na aplicação ou utilizando bibliotecas compatíveis.
🔥 Não há replicação nativa no Memcached.
🛠️ Troubleshooting – Problemas comuns
❌ Não consigo conectar na porta 11211
- Verifique se a porta está liberada no firewall.
- Verifique se o serviço está rodando:
sudo systemctl status memcached
❌ Cache não está sendo armazenado
- Verifique se há memória disponível.
- Verifique se a aplicação não está executando
flush_all
inadvertidamente.
❌ Alto uso de memória
- Ajuste o parâmetro
-m
no arquivo/etc/sysconfig/memcached
para limitar a RAM.
📚 Documentação oficial
⚠️ Todas as configurações feitas neste manual são exemplos simples e hipotéticos. Será necessário realizar adaptações conforme a topologia do seu ambiente.
🧠 Dúvidas?
Entre em contato com o time de suporte técnico da SaveinCloud. Estamos prontos para ajudar!