listy-Django-välimuisti on deterministinen välimuistimekanismiin varten Django hankkeisiin. & Nbsp; Se yrittää säilyttää välimuistin-sync tietokantaan päivittämällä muutosten aikana sen sijaan vedota aikakatkaisuja. Kuten nimikin antaa ymmärtää, Listy sivu tukee luetteloita esineitä.
Asenna
& Nbsp; pip asentaa listy-Django-cache
Käyttö
Käyttämällä Listy on yhtä helppoa kuin korvaa oletuksena malli Manager CachingManager ja antaa sille luettelon näppäimiä, jotka haluat kyselyn kanssa.
Tässä keinotekoinen Voin esimerkiksi etsiä perusteella PK, vain seuraaja, tai molemmat seuraaja ja followee:
tuonti listy
luokan Seuraa (models.Model):
& Nbsp; # Määritä kätkön tukea lookup "PK" tai "seuraajan"
& Nbsp; esineitä = listy.CachingManager ([('pk',), ("seuraaja",), ("seuraaja", "followee ')])
& Nbsp; luotu = models.DateTimeField (auto_now_add = True)
& Nbsp; seuraaja = models.ForeignKey (User ', related_name =' seuraa ')
& Nbsp; followee = models.ForeignKey (User ', related_name =' seuraajiensa)
# Seuraa joku
Follow.cache.add (seuraaja = minua, followee = te)
# Älä joku
Follow.cache.delete (seuraaja = minua, followee = te)
# Hanki käyttäjien seuraan
Follow.cache.get (seuraaja = me)
# Hanki onko Seuraan sinua
Follow.cache.get (seuraaja = minua, seuraaja = te)
# Hanki laskee käyttäjän seuraan
alkaen datetime tuonti päivästä, timedelta
alkaen dateutil.rrule tuonti rrule, päivittäin, viikoittain, kuukausittain, vuosittain
alku, loppu = date.today () - timedelta (vrk = 100), date.today ()
Follow.cache.daily_counts (luotu = rrule (PÄIVITTÄIN, dtstart = käy, kunnes = pää))
Näet täydellinen esimerkkejä test_django_app / välimuistia / tests.py.
Argumentteja CachingManager:
- Kätköt - luettelo tuplat kuvaavat kentät, pitäisi olla avaimet välimuistiin
- Soft_delete_field - nimi Poista kenttä, jota voidaan käyttää poistaa esineitä ilman todella niiden poistaminen tietokannasta, jos tämä ominaisuus on tuettu mallissa (oletus mitään)
- Deleted_timestamp_field - kentän nimi, joka tulisi asettaa Datetime kun poistat esineen (oletus mitään)
- Enabled_field - kentän nimi, joka määrittää, onko esine käytössä vai ei, tämä kohdellaan kuin poistaa, joka ei voi peruuttaa normaalioloissa (oletus mitään)
- Timestamp_field - kentän nimi, jotka pitävät aikaleima, jota käytetään laskurit (oletus mitään)
- Disable_cache - sammuttaa välimuistia, voidaan käyttää virheenkorjausta (oletus False)
- Osoite - funktio, joka palauttaa osoitteen memcache (oletus 127.0.0.1:11211)
- Filter_out_soft_deletes - hoidetaan pehmeä poistot totta poistot, suodattaa ne pois palatessaan luettelot (oletus True)
Luettelo tuplat määritelty kätköjä argumentti on sydän tämän välimuistimekanismiin. Sen kautta me määritellä, mitä luettelee esineitä haluamme välimuistissa ja päivitetty, ja miten aiomme saada nämä luettelot.
Ominaisuudet
- Erittäin helppokäyttöinen
- Deterministinen
- Nopea pääsy luetteloita asioista li>
- Packs datan kompaktissa muodossa (useimmat pienet kirjaa menevät noin 1k alas 10s bytes)
- On-demand deserialization
- Käytä memcache n prepend komento nopeasti lisää
- Seuraa yhteensä, vuosittain, kuukausittain, viikoittain ja päivittäin laskee kunkin välimuistissa lista li>
- Valinnainen per-pyyntö esine arkisto
- Vapaaehtoinen tuki pehmeä poistot
vaatimukset
- Python
- Django
Kommentteja ei löytynyt