Observer pattern per invalidare la cache
Pillar article su come il Model Observer invalida automaticamente la cache quando i dati cambiano.
1 min di letturaORM
Luigi Iadicola, Programmatore - Napoli
Cache che si pulisce da sola
Il problema classico della cache è l'invalidazione. In Soft PHP MVC il Model Observer intercetta automaticamente le operazioni di create, update e delete su ogni modello e invalida la cache associata. Non serve ricordarsi di pulire la cache manualmente dopo ogni scrittura.
Il pattern è semplice: il modello dichiara un $cacheTtl, le query usano quella cache, e l'Observer si occupa di invalidarla quando i dati sottostanti cambiano. Il codice applicativo non deve sapere nulla di tutto questo.
Flusso
- Query con
->cache()salva il risultato - Create/update/delete triggera l'Observer
- L'Observer invalida le chiavi cache del modello
- La query successiva rigenera la cache con dati freschi
Questo approccio funziona bene per la maggior parte dei casi: pagine con query ripetute, listing, dettaglio. Per scenari più complessi si può sempre gestire la cache manualmente.
Hai lo stesso problema in azienda?
Raccontami cosa non va e da quando. Guardo la situazione con te prima di proporre qualsiasi intervento.
Ricevi il prossimo articolo
Una mail per ogni articolo nuovo, nient'altro. Ti disiscrivi con un clic dal link in fondo a ogni email.