Sin impuesto Con impuesto

Redis e Memcached com PrestaShop: quando compensam e o que pode correr mal

Uma cache de consultas pode acelerar uma loja grande, ou fazer com que veja dados de há meia hora. Contamos-lhe como decidir e como evitar surpresas.

Jesús Meilán
Updated: 26/09/2026 127
Redis e Memcached com PrestaShop: quando compensam e o que pode correr mal
Share:

O Redis e o Memcached são armazéns em memória que o PrestaShop (ou um módulo) pode usar para guardar resultados de consultas à base de dados e não as repetir. Em lojas com muito tráfego e catálogos grandes, a poupança é real. Em lojas pequenas, muitas vezes só acrescenta complexidade.

Quando compensa

  • Muitas visitas em simultâneo e a base de dados é o gargalo medido.
  • Catálogo grande com muitas consultas repetidas (categorias, características, filtros).
  • Tem controlo do servidor para instalar e vigiar o Redis.

O problema de sempre: invalidar

Uma cache de consultas tem de saber quando um dado mudou para deixar de servir a versão antiga. Se guardar o resultado de «quantos produtos há nesta tabela» durante 30 minutos e alguém inserir linhas sem que a cache dê por isso, durante esses 30 minutos toda a gente vê o número antigo.

Caso real: um script de migração contava as linhas antes e depois de copiar dados. A contagem do «depois» era a mesma consulta que a do «antes» e saía da cache: o script dizia que não se tinha copiado nada quando na verdade estava tudo lá. A inserção era feita por uma via que a cache não vigiava.

Boas práticas

  • Exclua as tabelas voláteis: carrinhos, encomendas, stock, clientes e sessões nunca devem ir para a cache.
  • TTL razoáveis e uma forma simples de limpar a cache a partir do back office.
  • Os scripts de manutenção, importações e crons devem trabalhar contra a base de dados real, não contra a cache.
  • Cuidado ao desinstalar: algumas caches instalam overrides das classes de base de dados. Se a pasta do módulo for apagada sem o desinstalar, esses overrides podem estragar cada escrita na loja. Desinstale sempre a partir do back office e verifique depois a pasta override/classes/db/.

Alternativas antes do Redis

  1. Índices nas consultas lentas.
  2. Cache do Smarty bem configurada.
  3. Cache de página para visitantes anónimos, bem excluída do carrinho e da conta.

Se isso não chegar, então sim: uma cache de dados, bem configurada e vigiada.

Carregando...
Consentimento de cookies
Voltar ao topo