PrestaShop e Redis: è una delle combinazioni su cui riceviamo più domande, e la confusione nasce da un fatto preciso. Nel pannello di PrestaShop c’è una sezione dedicata alla cache, ma Redis non compare tra le opzioni. Vediamo perché, cosa puoi fare con il nostro modulo e cosa valutare se scegli un modulo di terzi.
Cosa offre PrestaShop di serie
In Parametri avanzati › Prestazioni PrestaShop ha una sezione Caching. Le opzioni previste dalla documentazione ufficiale sono Memcached, APC e Xcache: Redis non è tra queste. Si tratta di sistemi che richiedono estensioni PHP specifiche sul server; la stessa documentazione di PrestaShop raccomanda di sentire il proprio hosting prima di attivarli.
Il nostro consiglio è di non attivare quella cache senza averne parlato con noi: scegliere un sistema per cui manca l’estensione può portare a errori o a un negozio che non risponde. Per sfruttare Redis con PrestaShop la strada è un modulo.
Prima di tutto: attiva Redis dal pannello
Qualunque modulo tu usi, Redis deve essere attivo sul tuo account. Lo accendi dal pannello DirectAdmin, nella sezione Redis tra le funzioni avanzate. Una volta attivo, il pannello ti mostra il percorso del socket:
/home/tuoutente/.redis/redis.sock
È un’istanza solo tua, raggiungibile esclusivamente dai processi del tuo account. Assicurati anche che il negozio usi una versione di PHP attuale, scelta dal pannello: è lì che l’estensione per Redis è disponibile.
Con il modulo iWebLab Cache
Il nostro modulo iWebLab Cache per PrestaShop è già pensato per Redis:
- trova il socket da solo, senza che tu debba indicare percorsi o parametri;
- usa Redis per alcune sue funzioni, in particolare quelle legate alle pagine dei clienti collegati e al caricamento dei loro dati personali, cioè proprio la parte del negozio che non può essere servita come pagina uguale per tutti;
- se Redis non è attivo, continua a funzionare senza quelle funzioni accessorie;
- quando svuoti la sua cache Redis, cancella solo le proprie chiavi: se sullo stesso account hai anche un WordPress collegato a Redis, i suoi dati restano intatti.
Nella scheda delle impostazioni avanzate del modulo trovi lo stato di Redis: se è connesso, se il socket c’è ma Redis non risponde, oppure se Redis non è disponibile. Lì trovi anche il pulsante per svuotare la cache Redis del modulo.
Il modulo non sostituisce il sistema di cache interno di PrestaShop descritto sopra: lavora accanto alle pagine servite dalla cache e alla rete iWebLab Edge, occupandosi di ciò che resta dinamico.
Con un modulo di terzi
Esistono moduli di altri produttori che aggiungono a PrestaShop una cache su Redis per query e oggetti. Se decidi di usarne uno, ecco cosa controllare.
Collegamento tramite socket
Il modulo deve permettere di collegarsi tramite socket Unix e non solo con indirizzo e porta. Nelle impostazioni indica il percorso completo del socket del tuo account. Non c’è una password da inserire: l’accesso è protetto dai permessi del file.
Prefisso o database separato
Se sullo stesso account hai più negozi, o un negozio e un sito WordPress, tutti condividono la stessa istanza Redis. Ogni installazione deve avere un prefisso diverso per le chiavi, oppure un numero di database diverso se il modulo lo consente. Controlla anche cosa fa il pulsante di svuotamento: alcuni moduli cancellano l’intero contenuto di Redis, comprese le chiavi degli altri siti.
Compatibilità
Verifica che il modulo sia dichiarato compatibile con la tua versione di PrestaShop e con la versione di PHP che usi. Un modulo di cache lavora molto in profondità: se non è aggiornato, i problemi si vedono nei punti più delicati, come carrello e ordini.
Una sola cache dei dati
Non sovrapporre due sistemi che fanno lo stesso lavoro: se attivi un modulo di cache su Redis, lascia spenta la cache di serie di PrestaShop.
Prova su una copia
Prima di attivarlo sul negozio vero, provalo su una copia di prova. Fai un giro completo da cliente: ricerca, filtri, carrello, cassa, accesso all’account. Controlla anche il back office, soprattutto il salvataggio dei prodotti e dei prezzi.
Le accortezze di tutti i giorni
Dati cambiati fuori da PrestaShop. Se un gestionale aggiorna prezzi e giacenze scrivendo direttamente nel database, la cache non lo sa e può mostrare valori vecchi. Svuota la cache al termine di ogni sincronizzazione o, meglio, fai passare l’aggiornamento dalle funzioni di PrestaShop.
Dopo aggiornamenti e importazioni. Dopo l’aggiornamento di PrestaShop o di un modulo importante, o dopo un’importazione massiva di prodotti, svuota sia la cache di PrestaShop (dal pulsante nella pagina Prestazioni) sia quella del modulo che usa Redis.
Le altre impostazioni delle prestazioni. Redis non compensa una configurazione di base sbagliata. In produzione, nella stessa pagina Prestazioni, la compilazione dei template va impostata in modo da non ricompilarli a ogni visita e la cache dei template deve restare attiva; le opzioni di sviluppo vanno usate solo mentre stai lavorando al tema.
Come capire se serve
Redis aiuta soprattutto i negozi con molti clienti registrati, cataloghi ampi con molte combinazioni e back office lenti nel salvare o nel cercare. Su un negozio piccolo, con poche visite e prodotti, il guadagno può essere modesto. Se il negozio è lento in tutte le pagine, anche in quelle uguali per tutti, la causa è probabilmente altrove: un modulo pesante, immagini non ottimizzate, query lente.
Riepilogo
- Non attivare la cache di serie di PrestaShop senza averne parlato con noi.
- Attiva Redis dal pannello e prendi nota del socket.
- Con il nostro modulo non devi configurare nulla: controlla lo stato nella scheda avanzata.
- Con moduli di terzi: socket, prefisso o database separato, compatibilità e prova su una copia.
- Svuota le cache dopo sincronizzazioni dirette, aggiornamenti e importazioni.
I nostri piani hosting PrestaShop includono Redis. Se vuoi un controllo sul tuo negozio, apri un ticket dall’area clienti.