Een view cachen met cached
Memoize volledige responses per URL.
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. 🚀
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
- Flask-Caching instellen
- Een view cachen met cached
- Dure functies memoizen
- Cache-items ongeldig maken en laten verlopen