Strategie di caching per API orientate al prodotto
· 8 min di lettura
Una cache è prima una decisione di correttezza e solo dopo un’ottimizzazione di performance.
Nomina il contratto di freschezza
Prima di scegliere Redis, regole CDN o header HTTP, decidi quanto può essere stallo una risposta e cosa succede quando è sbagliata. Pagine profilo, conteggi inventario, prezzi e permessi hanno tolleranze diverse al ritardo. Un TTL globale unico è di solito un errore di prodotto.
Scrivi il contratto in linguaggio ingegneristico su cui i client possano fare affidamento: scadenza assoluta, invalidazione event-driven o revalidazione esplicita. Una freschezza ambigua crea layer di cache duplicati che si combattono a vicenda.
Metti in cache dove sta il pubblico
I contenuti pubblici beneficiano delle cache edge. Le dashboard per utente spesso necessitano di cache a livello applicativo con chiave per identità e tenant. Aggregazioni costose calcolate possono richiedere materializzazione piuttosto che una entry key-value di breve vita.
Evita di mettere in cache risposte non autorizzate o che incorporano segreti. Le chiavi di cache devono includere ogni dimensione che cambia il significato: locale, piano, feature flag e versione della rappresentazione.
- Proteggi dagli thundering herd alla scadenza
- Preferisci percorsi di ricalcolo idempotenti
- Osserva hit rate insieme agli incidenti di dati sbagliati
- Invalida su eventi di dominio significativi
L’invalidazione è la parte difficile
La scadenza basata sul tempo è semplice e spesso sbagliata per dati collaborativi. L’invalidazione basata sugli eventi è precisa e facile da dimenticare da parte di un producer. Molti sistemi combinano un TTL moderato con purge esplicito sui write path per le entità critiche.
Progetta i flussi di delete e update per emettere i segnali di cui le cache hanno bisogno. Se chi scrive non conosce le cache dei lettori, i dati stalli diventano un tema ricorrente di incidenti.
Misura gli esiti visibili all’utente
Un alto hit rate con ticket di supporto in aumento su informazioni obsolete non è una vittoria. Traccia percentili di latenza, carico sull’origin e reclami di correttezza insieme. La strategia di caching deve far sentire il prodotto veloce e affidabile allo stesso tempo.
La cache migliore è invisibile: gli utenti ottengono risposte tempestive, gli origin restano calmi e gli ingegneri possono spiegare esattamente quando i dati possono ritardare.
Pubblicato il 18 giugno 2025 da Berktug Berke Ates.