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.

RaccontameloRispondo entro un giorno lavorativo.
Condividi:LinkedIn

Ricevi il prossimo articolo

Una mail per ogni articolo nuovo, nient'altro. Ti disiscrivi con un clic dal link in fondo a ogni email.