Flask Academy · Les

Een view cachen met cached

Memoize volledige responses per URL.

Les 2 van 413 stappen

Een view cachen met cached is een gratis Flask Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Flask Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Flask Academy bevat in totaal 4 lessen.

Volledige antwoorden cachen

Sommige pagina's kosten veel werk om op te bouwen. De decorator cached slaat het volledige antwoord op, zodat terugkerende bezoekers direct een kopie krijgen.

De decorator toepassen

Je voegt @cache.cached() direct boven je functie voor de weergave toe. Het eerste verzoek voert de functie uit; latere verzoeken geven het opgeslagen resultaat opnieuw.

@app.route("/report")
@cache.cached()
def report():
    return build_report()

Volgorde van decorators

De volgorde is belangrijk. Zet @app.route bovenaan en @cache.cached eronder, zodat routering plaatsvindt voordat caching begint.

Een time-out per weergave instellen

Je kunt de algemene instelling per weergave overschrijven. Het argument timeout geeft aan hoeveel seconden dit specifieke antwoord actueel blijft.

@cache.cached(timeout=60)
def report():
    ...

Cachen op basis van het aanvraagpad

Standaard is de cachesleutel het aanvraagpad. Daardoor worden /report en /report/extra opgeslagen als afzonderlijke, onafhankelijke vermeldingen.

Querystrings worden genegeerd

Let op: de standaardsleutel slaat de querystring over. Daardoor zouden /list?page=2 en /list?page=3 dezelfde cachevermelding delen.

Variëren op basis van de volledige URL

Stel query_string=True in om op querystrings te splitsen. Nu krijgt elke unieke URL, inclusief parameters, zijn eigen gecachete antwoord.

@cache.cached(query_string=True)
def listing():
    ...

Aangepaste cachesleutels

Heb je volledige controle nodig? Geef een functie make_cache_key door die de sleutel zelf opbouwt, bijvoorbeeld door de huidige gebruiker erin te verwerken.

@cache.cached(make_cache_key=my_key)

Alleen veilige methoden cachen

Cache GET-verzoeken, nooit POST. Als je een schrijfbewerking cachet, wordt een oude inhoud opnieuw afgespeeld en worden de verwachte neveneffecten overgeslagen.

De cache overslaan wanneer dat nodig is

Geef unless terug wanneer een voorwaarde geldt, zodat de weergave elke keer opnieuw wordt uitgevoerd. Handig om caching voor ingelogde gebruikers over te slaan.

@cache.cached(unless=lambda: g.user)

Eerste treffer versus latere treffers

Het eerste verzoek is een cachemisser en voert het werk uit. Elk later verzoek binnen de time-out is een snelle cachetreffer.

Korte controle

Je lijstpagina gebruikt ?page=, maar elke pagina toont dezelfde gecachete inhoud.

Samenvatting: weergaven cachen

Je hebt geleerd weergaven te omwikkelen met @cache.cached, de time-out af te stemmen, de volledige URL als sleutel te gebruiken en caching voor schrijfbewerkingen over te slaan. 🚀

Gratis beginnen

Leer Python met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
30
Lessen
120

Veelgestelde vragen

Is de les “Een view cachen met cached” gratis?

Ja — de volledige tekst van “Een view cachen met cached” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Flask Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Flask Academy bevat in totaal 4 lessen.

Wat leer ik in “Een view cachen met cached”?

Memoize volledige responses per URL. Je oefent met Flask Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Flask Academy te beginnen?

Ervaring vooraf is niet nodig. Flask Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Een view cachen met cached”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Flask Academy?

Ja. Elke les over Flask Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Flask-Caching instellen
  2. Een view cachen met cached
  3. Dure functies memoizen
  4. Cache-items ongeldig maken en laten verlopen
← Terug naar Flask Academy