Flask Academy · Oppitunti

Välimuistita view cachedilla

Tallenna kokonaiset vastaukset URL-osoitteen perusteella.

Oppitunti 2/413 vaihetta

Välimuistita view cachedilla on ilmainen Flask Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Flask Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Flask Academy-kurssilla on yhteensä 4 oppituntia.

Kokonaisten vastausten välimuistitus

Joidenkin sivujen muodostaminen vaatii paljon työtä. cached-dekorattori tallentaa koko vastauksen, joten palaavat kävijät saavat sen välittömästi.

Käytä dekorattoria

Lisäätte @cache.cached()-dekorattorin suoraan näkymäfunktion yläpuolelle. Ensimmäinen pyyntö suorittaa funktion, myöhemmät toistavat tallennetun tuloksen.

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

Dekoraattorien järjestys

Järjestyksellä on merkitystä. Asettakaa @app.route ylimmäksi ja @cache.cached sen alapuolelle, jotta reititys tapahtuu ennen välimuistin käyttöä.

Aseta näkymäkohtainen aikakatkaisu

Voitte ohittaa yleisen asetuksen näkymäkohtaisesti. timeout-argumentti kertoo, kuinka monta sekuntia kyseinen vastaus säilyy tuoreena.

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

Välimuisti pyynnön polun perusteella

Oletusarvoisesti välimuistiavain on request path. Siksi /report ja /report/extra tallennetaan erillisinä, toisistaan riippumattomina tietueina.

Kyselymerkkijonot ohitetaan

Huomioikaa, että oletusavain ohittaa kyselymerkkijonon. Siksi /list?page=2 ja /list?page=3 käyttäisivät samaa välimuistimerkintää.

Vaihtele koko URL-osoitteen perusteella

Jos haluatte erotella tulokset kyselymerkkijonon perusteella, asettakaa query_string=True. Nyt jokainen yksilöllinen URL-osoite parametreineen saa oman välimuistissa olevan vastauksensa.

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

Mukautetut välimuistiavaimet

Tarvitsetteko täyden hallinnan? Välittäkää make_cache_key-funktio, joka muodostaa avaimen itse, esimerkiksi lisäämällä siihen nykyisen käyttäjän.

@cache.cached(make_cache_key=my_key)

Välimuistita vain turvalliset metodit

Välimuistittakaa GET-pyynnöt, älkää koskaan POST-pyyntöjä. Kirjoitusoperaation välimuistitus toistaisi vanhan rungon ja ohittaisi käyttäjien odottamat sivuvaikutukset.

Ohita välimuisti tarvittaessa

Palauttakaa unless-ehto, kun ehto täyttyy, jolloin näkymä suoritetaan joka kerta uudelleen. Tämä on kätevää, kun välimuisti halutaan ohittaa kirjautuneilta käyttäjiltä.

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

Ensimmäinen osuma ja myöhemmät osumat

Ensimmäinen pyyntö on cache miss ja suorittaa työn. Jokainen myöhempi pyyntö aikakatkaisun aikana on nopea välimuistiosuma.

Pikatarkistus

Luettelosivunne käyttää ?page=-parametria, mutta jokaisella sivulla näkyy sama välimuistissa oleva sisältö.

Kertaus: näkymien välimuistitus

Opitte käärimään näkymät @cache.cached-dekorattorilla, säätämään aikakatkaisua, muodostamaan avaimen koko URL-osoitteen perusteella ja ohittamaan välimuistituksen kirjoitusoperaatioissa. 🚀

Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”Välimuistita view cachedilla” ilmainen?

Kyllä – oppitunnin ”Välimuistita view cachedilla” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Flask Academy-kurssin, päivitä CoddyKit PROhon. Flask Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Välimuistita view cachedilla”?

Tallenna kokonaiset vastaukset URL-osoitteen perusteella. Harjoittelet Flask Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Flask Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Flask Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”Välimuistita view cachedilla”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Flask Academy-oppitunnilla?

Kyllä. Jokainen Flask Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Määritä Flask-Caching
  2. Välimuistita view cachedilla
  3. Välimuistita raskaat funktiot
  4. Virheellistä välimuisti ja vanhentuneet merkinnät
← Takaisin: Flask Academy