0Pricing
Django Academy · Lezione

API cache di basso livello e invalidazione

Memorizzare i risultati delle query e invalidare le chiavi obsolete

API cache di basso livello e invalidazione è una lezione Django Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Django Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Django Academy include 4 lezioni in totale.

Memorizzare nella cache ciò che preferisce

La low-level cache API consente di memorizzare qualsiasi oggetto Python, come il risultato di una query, con il pieno controllo sulla chiave e sul timeout.

Importare l'oggetto cache

Utilizzi l'oggetto condiviso cache da django.core.cache per chiamarne i metodi in qualsiasi punto delle view o dei servizi.

from django.core.cache import cache

Il pattern cache-aside

Il flusso classico è cache-aside: prova a leggere dalla cache ed esegua la query lenta solo quando il valore non è presente.

stats = cache.get("stats")
if stats is None:
    stats = compute_stats()
    cache.set("stats", stats, 300)

get_or_set in una sola chiamata

Semplifichi questo pattern con get_or_set, che restituisce il valore memorizzato nella cache oppure lo calcola, lo memorizza e lo restituisce.

stats = cache.get_or_set("stats", compute_stats, 300)

Memorizzare molti valori insieme

Usi set_many per scrivere diverse chiavi in un solo round trip, che è più veloce di molte chiamate set separate.

cache.set_many({"a": 1, "b": 2}, 300)

Il rischio sono i dati obsoleti

I valori memorizzati nella cache possono non essere più allineati al database. La rimozione di una voce obsoleta affinché vengano caricati dati aggiornati si chiama invalidation.

Eliminare una chiave

Chiami delete con una chiave per eliminare una voce, costringendo la lettura successiva a ricostruirla dalla fonte.

cache.delete("stats")

Invalidare al salvataggio

Una pratica affidabile consiste nell'usare delete subito dopo la modifica dei dati interessati, così gli utenti non vedranno mai la versione precedente.

post.save()
cache.delete("post_" + str(post.id))

Il versioning è meglio dell'eliminazione

Passi una version a set e get: incrementando il numero, ritira immediatamente un intero insieme di vecchie chiavi.

cache.set("stats", data, version=2)

Contatori atomici

Incrementi in modo sicuro una chiave numerica con incr, una soluzione perfetta per i conteggi delle visualizzazioni, quando diverse richieste aggiornano lo stesso valore.

cache.incr("page_views")

Cancellare tutto come ultima risorsa

Il metodo clear cancella l'intera cache. È uno strumento drastico, quindi lo riservi ai deploy e non agli aggiornamenti ordinari.

cache.clear()

Verifica rapida

Confermiamo qual è il modo più pulito per leggere o calcolare un valore.

Riepilogo

Ha acquisito dimestichezza con la low-level API: usi cache-aside con get_or_set, quindi mantenga aggiornati i dati eliminando le chiavi o incrementando la versione. 🎯

Domande Frequenti

La lezione «API cache di basso livello e invalidazione» è gratuita?

Sì — il testo completo di «API cache di basso livello e invalidazione» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Django Academy, passa a CoddyKit PRO. Il corso Django Academy include 4 lezioni in totale.

Cosa imparerò in «API cache di basso livello e invalidazione»?

Memorizzare i risultati delle query e invalidare le chiavi obsolete Eserciti Django Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Django Academy?

Non è richiesta alcuna esperienza precedente. Django Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «API cache di basso livello e invalidazione»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Django Academy?

Sì. Ogni lezione Django Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Backend di cache e Redis
  2. Caching per vista e per sito
  3. Caching dei frammenti di template
  4. API cache di basso livello e invalidazione
← Torna a Django Academy