Memorizzare una view con cached
Memorizzi in cache le risposte complete in base all'URL.
Memorizzare una view con cached è una lezione Flask Academy gratuita su CoddyKit. Questa è la lezione 2 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 Flask Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Flask Academy include 4 lezioni in totale.
Memorizzare nella cache intere risposte
Alcune pagine richiedono un lavoro significativo per essere generate. Il decorator cached memorizza l'intera risposta, così i visitatori successivi ricevono una copia immediatamente.
Applicare il decorator
Aggiungete @cache.cached() subito sopra la funzione della vista. La prima richiesta la esegue; quelle successive ripropongono il risultato memorizzato.
@app.route("/report")
@cache.cached()
def report():
return build_report()Ordine dei decorator
L'ordine è importante. Posizionate @app.route sopra e @cache.cached sotto, così il routing viene eseguito prima che entri in funzione la cache.
Impostare un timeout per vista
Potete sovrascrivere l'impostazione globale per ogni vista. L'argomento timeout indica per quanti secondi questa specifica risposta rimane valida.
@cache.cached(timeout=60)
def report():
...Memorizzazione basata sul percorso della richiesta
Per impostazione predefinita, la chiave della cache è il request path. Pertanto /report e /report/extra vengono memorizzati come voci separate e indipendenti.
Le query string vengono ignorate
Attenzione: la chiave predefinita ignora la query string. Pertanto /list?page=2 e /list?page=3 condividerebbero la stessa voce nella cache.
Variare in base all'URL completo
Per distinguere le query string, impostate query_string=True. Ora ogni URL univoco, inclusi i parametri, riceverà una propria risposta memorizzata.
@cache.cached(query_string=True)
def listing():
...Chiavi della cache personalizzate
Vi serve il pieno controllo? Passate una funzione make_cache_key che costruisca autonomamente la chiave, ad esempio includendo l'utente corrente.
@cache.cached(make_cache_key=my_key)Memorizzare nella cache solo i metodi sicuri
Memorizzate nella cache le richieste GET, mai quelle POST. Memorizzare una scrittura riproporrebbe un body obsoleto e salterebbe gli effetti collaterali attesi dagli utenti.
Saltare la cache quando necessario
Restituite unless quando una condizione è verificata, così la vista viene eseguita nuovamente ogni volta. È utile per bypassare la cache per gli utenti autenticati.
@cache.cached(unless=lambda: g.user)Prima richiesta e richieste successive
La prima richiesta è un cache miss e svolge il lavoro. Ogni richiesta successiva entro il timeout è un rapido cache hit.
Verifica rapida
La pagina dell'elenco usa ?page=, ma ogni pagina mostra lo stesso contenuto memorizzato nella cache.
Riepilogo: caching delle viste
Avete imparato a racchiudere le viste con @cache.cached, regolare il timeout, usare l'URL completo come chiave e saltare la cache per le scritture. 🚀
Impara Python con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 30
- Lezioni
- 120
Domande Frequenti
La lezione «Memorizzare una view con cached» è gratuita?
Sì — il testo completo di «Memorizzare una view con cached» è 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 Flask Academy, passa a CoddyKit PRO. Il corso Flask Academy include 4 lezioni in totale.
Cosa imparerò in «Memorizzare una view con cached»?
Memorizzi in cache le risposte complete in base all'URL. Eserciti Flask 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 Flask Academy?
Non è richiesta alcuna esperienza precedente. Flask 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 2 di 4.
Quanto tempo richiede la lezione «Memorizzare una view con cached»?
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 Flask Academy?
Sì. Ogni lezione Flask 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
- Configurare Flask-Caching
- Memorizzare una view con cached
- Memoizzare le funzioni costose
- Invalidare e far scadere le voci della cache