Cosa è?
Per poter capire nel dettaglio cosa sia la cache dobbiamo fare una premessa: il front-end visualizzato dall’utente che naviga il sito, non è altro che del codice html, css e js, il quale può essere scritto così come viene visualizzato oppure può essere la risposta di codice più complesso elaborato dal server.
Per evitare che ad ogni utente che visita il sito, il server riceva una richiesta complessa e debba effettuare ogni volta delle operazioni per ricreare lo stesso codice, si usa la cache, che memorizza la risposta del server in dei file fisici. In questo modo se la richiesta è già stata fatta viene direttamente restituito il codice salvato nel file, risparmiando risorse del server.
Nella maggior parte dei siti web ed in particolare su tutti i siti creati con Magento, viene usata la cache, al fine di migliorare le performance.
Magento ha un livello di cache complesso, ossia da la possibilità tramite alcune informazioni da inserire lato codice di escludere dalla cache alcuni blocchi, che magari devono essere dinamici perché magari impostati secondo delle logiche che devono cambiare in base all’utente che sta navigando il sito.
Dove trovo la gestione della cache su magento 2?
Come possiamo vedere dall’immagine seguente, nel menu System presente in admin, abbiamo la sezione Tools => Cache Management
Cliccando sul link accediamo nella schermata seguente, nella quale troviamo una griglia che ci indica lo stato delle cache, che possono essere ok, oppure invalidate e quindi necessitano di essere pulite.
Se vengono installati dei plugin che usano delle cache ulteriori rispetto a quelle base di magento, potremo trovare altre righe nella tabella dedicate a queste specifiche cache.
Per la pulizia abbiamo diverse modalità, il pulsante “Flush Cache Storage“, permette di pulire le collection e tutte le informazioni riguardanti più la parte dati e db.
Mentre il pulsante “Flush Magento Cache“, permette di fare una pulizia generale di tutte le cache del sito.
Altra modalità può essere quella di selezionare la checkbox, di una singola o più cache presenti sulla griglia e tramite il pulsante submit presente in alto a sinistra della stessa eseguire l’operazione selezionata nella select.
Abbiamo al fondo della griglia invece una parte riguardante alle cache aggiuntive, le cache delle imagini, oppure dei js e css, nel caso in cui vengano magari mergiati, oppure la parte riguardante i file statici, queste tipologie di cache capita raramente di andarle a pulire.
Possiamo infine pulire le cache tramite i comandi che la shell di magento mette a disposizione, ovviamente per fare questo ci servirà un accesso ssh al server nel cui il sito sarà hostato.
Di seguito i comandi, che andranno digitati nella directory dove è presente il codice di magento:
php bin/magento cache:clean || php bin/magento c:c
php bin/magento cache:flush || php bin/magento c:f