Pular para o conteúdo principal

⚙️ 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.

dica

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

  1. Acesse o painel da SaveinCloud.
  2. Clique em Novo Ambiente.
  3. Na aba Cache, selecione Memcached 1.6.38.
  4. Defina os recursos (CPU, RAM e Storage) conforme a necessidade.
  5. Clique em Criar e aguarde a implantação.

imagem


🔧 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

PortaDescrição
11211Porta TCP do Memcached
atenção

⚠️ 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


atenção

⚠️ 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!