Sin impuesto Con impuesto

Redis e Memcached con PrestaShop: quando convengono e cosa può andare storto

Una cache delle query può accelerare un negozio grande, o farti vedere dati di mezz'ora fa. Ti diciamo come decidere e come evitare sorprese.

Jesús Meilán
Updated: 26/09/2026 125
Redis e Memcached con PrestaShop: quando convengono e cosa può andare storto
Share:

Redis e Memcached sono archivi in memoria che PrestaShop (o un modulo) può usare per conservare i risultati delle query al database e non ripeterle. Nei negozi con molto traffico e cataloghi grandi, il risparmio è reale. Nei negozi piccoli, spesso aggiunge solo complessità.

Quando conviene

  • Molte visite simultanee e il database è il collo di bottiglia misurato.
  • Catalogo grande con molte query ripetute (categorie, caratteristiche, filtri).
  • Hai il controllo del server per installare e monitorare Redis.

Il problema di sempre: invalidare

Una cache delle query deve sapere quando un dato è cambiato per smettere di servire la versione vecchia. Se conserva per 30 minuti il risultato di «quanti prodotti ci sono in questa tabella» e qualcuno inserisce righe senza che la cache se ne accorga, per quei 30 minuti tutti vedranno il numero vecchio.

Caso reale: uno script di migrazione contava le righe prima e dopo la copia dei dati. Il conteggio del «dopo» era la stessa query del «prima» e usciva dalla cache: lo script diceva che non era stato copiato niente quando in realtà c'era tutto. L'inserimento avveniva per una via che la cache non sorvegliava.

Buone pratiche

  • Escludi le tabelle volatili: carrelli, ordini, stock, clienti e sessioni non dovrebbero mai finire in cache.
  • TTL ragionevoli e un modo semplice per svuotare la cache dal back office.
  • Gli script di manutenzione, le importazioni e i cron devono lavorare sul database reale, non sulla cache.
  • Attenzione alla disinstallazione: alcune cache installano override delle classi del database. Se si cancella la cartella del modulo senza disinstallarlo, quegli override possono rompere ogni scrittura nel negozio. Disinstalla sempre dal back office e poi controlla la cartella override/classes/db/.

Alternative prima di Redis

  1. Indici sulle query lente.
  2. Cache di Smarty ben configurata.
  3. Cache di pagina per i visitatori anonimi, ben esclusa da carrello e account.

Se tutto ciò non basta, allora sì: una cache dei dati, ben configurata e monitorata.

Caricamento...
Consenso sui cookie
Torna all'inizio