listy-django-cache

Software skärmdump:
listy-django-cache
Mjukvaruinformation:
Version: 0.9.0
Ladda upp dagen: 11 May 15
Utvecklare: Wavii, Inc.
Licens: Gratis
Popularitet: 0

Rating: 4.0/5 (Total Votes: 1)

listy-django-cache är en deterministisk caching mekanism för Django projekt. & Nbsp; Det kommer att försöka hålla cachen i synk med databasen genom att uppdatera vid förändringar i stället för att förlita sig på timeout. Som namnet antyder, stöder Listy tittar upp listor över objekt.
Installera
& Nbsp; pip installera listy-django-cache
Användning
Använda Listy är lika enkelt som att ersätta standardmodellen manager med en CachingManager och förse den med listan med nycklar som du kommer att vilja fråga med.
I detta krystat exempel kan jag leta upp baserat på pk, bara anhängare, eller både anhängare och followee:
import listy
klass Följ (models.Model):
& Nbsp; # Konfigurera här cache att stödja lookup med "pk" eller "efterföljare"
& Nbsp; objekt = listy.CachingManager ([("pk"), ("efterföljare",), ("efterföljare", "followee)])
& Nbsp; skapade = models.DateTimeField (auto_now_add = sant)
& Nbsp; anhängare = models.ForeignKey ("Användare", related_name = 'följer')
& Nbsp; followee = models.ForeignKey ("Användare", related_name = "anhängare")
# Följ någon
Follow.cache.add (efterföljare = mig, followee = du)
# Sluta följa någon
Follow.cache.delete (efterföljare = mig, followee = du)
# Få användare jag följer
Follow.cache.get (efterföljare = jag)
# Få om jag följer dig
Follow.cache.get (efterföljare = mig, anhängare = du)
# Få räkningarna för användarna jag följer
från datetime importdatum, timedelta
från dateutil.rrule import rrule, dag, vecka, månad, ÅRSVIS
start, slut = date.today () - timedelta (dagar = 100), date.today ()
Follow.cache.daily_counts (skapad = rrule (DAILY, dtstart = start, fram = slutet))
Du kan se en komplett uppsättning exempel i test_django_app / caching / tests.py.
Argument till CachingManager:
- Cachar - En förteckning över tupler som beskriver de områden som bör vara nycklar till cachen
- Soft_delete_field - namnet på delete fält som kan användas för att ta bort objekt utan att ta bort dem från databasen om denna funktion stöds av modellen (standard Inga)
- Deleted_timestamp_field - namnet på det område som ska vara inställd på en datetime när du tar bort ett objekt (standard Inga)
- Enabled_field - namnet på det område som definierar om ett objekt är aktiverat eller inte, detta behandlas som en ta bort som inte kan göras ogjort under normala omständigheter (standard Inga)
- Timestamp_field - namnet på det fält som håller tidsstämpel som ska användas för räknarna (standard Inga)
- Disable_cache - stäng av caching, kan användas för felsökning (standard False)
- Adress - en funktion som returnerar adressen till memcache (standard 127.0.0.1:11211)
- Filter_out_soft_deletes - behandla mjuka borttagningar som sanna raderar, filtrera bort dem när de återvänder listor (standard sant)
Listan över tupler definieras av cachar argumentet är hjärtat i denna caching mekanism. Genom det definierar vi vad listor av objekt vi vill cachade och uppdaterade, och hur vi kommer att få tillgång till dessa listor

Egenskaper .

  • Mycket lätt att använda
  • Deterministic
  • Snabb tillgång till listor över saker
  • Packs data i kompakt form (de flesta små poster går från ungefär 1 k ned till 10s bytes)
  • On-demand deserialiseringsundantag
  • Användning av memcache s prepend kommando för snabb tillägger
  • Håller koll på totalt årligen, månads-, vecko- och dags räknas för varje cachade lista
  • Tillval per begäran objekt registret
  • Valfri stöd för mjuka borttagningar

Krav :

  • Python
  • Django

Kommentarer till listy-django-cache

Kommentarer hittades inte
Kommentar
Slå på bilder!