.
listy-django-cache deterministik önbelleğe Django projeleri için bir mekanizma & nbsp; Bu değişiklikler sırasında güncellenmesi yerine zaman aşımı güvenmek tarafından senkronize veritabanı ile önbelleği tutmaya çalışacaktır. Adından da anlaşıldığı üzere, Listy nesnelerin listelerini bakarak destekler.
Yükle
& Nbsp; pip listy-django-cache install
Kullanım
Kullanımı Listy bir CachingManager varsayılan modeli yöneticisi değiştirilmesi ve sizinle sorgulamak isteyeceksiniz tuşlarının listesi ile sunmak gibi basit.
Bu yapmacık örnekte, ben pk, sadece takipçisi ya takipçisi ve followee hem dayanan bakabilirsiniz:
ithalat listy
sınıf izleyin (models.Model):
& Nbsp; # Yapılandırma bu önbellek 'pk' ya da 'takipçisi' ile arama desteklemek için
& Nbsp; nesneleri = listy.CachingManager ([(), "PK", ("izleyici",), ('takipçisi', 'followee')])
& Nbsp; yaratılan = models.DateTimeField (auto_now_add = true)
& Nbsp; takipçisi = models.ForeignKey ('Kullanıcı', related_name = 'takip')
& Nbsp; followee = models.ForeignKey ('Kullanıcı', related_name = 'takipçileri')
# Birini takip
Follow.cache.add (takipçisi = me, followee = sen)
# Et Takip Birisi
Follow.cache.delete (takipçisi = me, followee = sen)
# Ben aşağıdaki kullanıcıları alın
Follow.cache.get (takipçisi = me)
Seni takip edip # alın
Follow.cache.get (takipçisi = me, takipçisi = sen)
# Ben aşağıdaki kullanıcılar için sayıları alın
datetime ithalat tarihi, timedelta gelen
dateutil.rrule ithalat rrule, YILLIK GÜNLÜK, HAFTALIK, AYLIK, gelen
çalıştırma ucu = date.today () - timedelta (gün = 100), date.today ()
Follow.cache.daily_counts (yaratılan = rrule (GÜNLÜK, dtstart =) = sonuna kadar, başlangıç)
Sen test_django_app / önbelleğe alma / tests.py örnekler komple bir set görebilirsiniz.
CachingManager argümanları:
- Önbelleklerini - önbelleğine tuşları olmalıdır alanlar açıklayan küpe listesi
- Soft_delete_field - Bu özellik modeli (varsayılan Yoktur) tarafından destekleniyorsa aslında veritabanından onları çıkarmadan nesneleri silmek için kullanılan silme alanın adı
- Deleted_timestamp_field - bir nesne (varsayılan Hiçbiri) silerken bir datetime ayarlanması gerekir alanın adı
- Enabled_field - bir nesne etkin olup olmadığını belirler veya alanın adını, bu gibi tedavi olduğunu silme normal koşullarda geri alınamaz (varsayılan Yoktur)
- Timestamp_field - zaman damgası sayaçları için kullanılacak tutun alanın adını (varsayılan Yoktur)
- Disable_cache - önbelleğini devre dışı, hata ayıklama için kullanılabilir (varsayılan Yanlış)
- Adresi - memcache adresini döndüren bir işlev (varsayılan 127.0.0.1:11211)
- Filter_out_soft_deletes - listelerini dönerken, gerçek siler gibi yumuşak siler tedavi onları filtre (varsayılan Doğru)
önbelleklerini argüman tarafından tanımlanan dizilerini listesi bu önbelleğe alma mekanizmasının kalbidir. Bunun sayesinde nesnelerin biz önbelleğe ve güncellenmiş ve biz bu listeleri nasıl erişeceğini istediğiniz bir listeler tanımlamak
Özellikler :.
- Çok kolay kullanımı
- Deterministik
- şeylerin listelerine hızlı erişim
- Paketleri veri (en küçük kayıtlar aşağı bayt 10s yaklaşık 1k gitmek)
- On-demand deserialization
- için hızlı memcache en Başa eklenen komutunun kullanımı ekler
- Yıllık toplam izler, her önbelleğe alınmış liste için, aylık, haftalık ve günlük sayımlar
- İsteğe istek başına nesne kayıt
- Yumuşak siler için isteğe bağlı destek
Kompakt forma
Gereksinimleri :
- Python
- Django
Yorum Bulunamadı