listy-django-cache

Software screenshot:
listy-django-cache
Rincian Software:
Versi: 0.9.0
Tanggal Upload: 11 May 15
Pengembang: Wavii, Inc.
Lisensi: Gratis
Popularitas: 0

Rating: 4.0/5 (Total Votes: 1)

Listy-Django-Cache adalah mekanisme caching deterministik untuk proyek Django & nbsp;. Ini akan berusaha untuk menjaga cache di-sync dengan database dengan memperbarui selama perubahan bukan mengandalkan timeout. Seperti tersirat oleh nama, Listy mendukung mencari daftar objek.
Instal
& Nbsp; pip menginstal Listy-Django cache
Penggunaan
Menggunakan Listy adalah yang sederhana seperti mengganti manajer model standar dengan CachingManager dan menyediakan dengan daftar kunci yang Anda akan ingin query dengan.
Dalam contoh buat ini, saya dapat melihat berdasarkan pk, hanya pengikut, atau keduanya pengikut dan followee:
impor Listy
kelas Ikuti (models.Model):
& Nbsp; # Konfigurasi cache ini untuk mendukung pencarian oleh 'pk' atau 'pengikut'
& Nbsp; benda = listy.CachingManager ([('pk',), ('pengikut',), ('pengikut', 'followee')])
& Nbsp; dibuat = models.DateTimeField (auto_now_add = True)
& Nbsp; pengikut = models.ForeignKey ('Pengguna, related_name =' berikut ')
& Nbsp; followee = models.ForeignKey ('Pengguna, related_name =' pengikut ')
# Ikuti seseorang
Follow.cache.add (follower = saya, followee = Anda)
# Setop seseorang
Follow.cache.delete (follower = saya, followee = Anda)
# Dapatkan pengguna saya ikuti
Follow.cache.get (follower = saya)
# Dapatkan apakah saya mengikuti Anda
Follow.cache.get (follower = saya, follower = Anda)
# Dapatkan jumlah untuk pengguna saya ikuti
dari datetime tanggal impor, timedelta
dari dateutil.rrule impor rrule, HARIAN, MINGGUAN, BULANAN, TAHUNAN
awal, akhir = date.today () - timedelta (hari = 100), date.today ()
Follow.cache.daily_counts (dibuat = rrule (HARIAN, dtstart = mulai, sampai akhir =))
Anda dapat melihat satu set lengkap contoh di test_django_app / caching / tests.py.
Argumen untuk CachingManager:
- Cache - daftar tupel menggambarkan bidang yang harus kunci ke dalam cache
- Soft_delete_field - nama bidang delete yang dapat digunakan untuk menghapus objek tanpa benar-benar menghapus mereka dari database jika fitur ini didukung oleh model (default None)
- Deleted_timestamp_field - nama bidang yang harus ditetapkan ke datetime saat menghapus sebuah objek (default None)
- Enabled_field - nama bidang yang mendefinisikan apakah sebuah benda diaktifkan atau tidak, ini diperlakukan seperti menghapus yang tidak dapat dibatalkan dalam keadaan normal (default None)
- Timestamp_field - nama bidang yang memegang timestamp yang akan digunakan untuk counter (default None)
- Disable_cache - menonaktifkan caching, dapat digunakan untuk debugging (default Salah)
- Alamat - fungsi yang mengembalikan alamat memcache yang (default 127.0.0.1:11211)
- Filter_out_soft_deletes - mengobati menghapus lembut seperti menghapus benar, menyaring mereka keluar ketika kembali daftar (default Benar)
Daftar tupel didefinisikan oleh argumen cache adalah jantung dari mekanisme caching ini. Melalui itu kita mendefinisikan apa yang berisi benda-benda yang kita ingin cache dan diperbarui, dan bagaimana kita akan mengakses daftar tersebut

Fitur :.

  • Sangat mudah digunakan
  • deterministik
  • Akses cepat ke daftar hal-hal
  • Paket data ke dalam bentuk yang kompak (catatan paling kecil pergi dari sekitar 1k ke 10s byte)
  • On-demand deserialization
  • Gunakan perintah tambahkan memcache untuk cepat menambahkan
  • Melacak total, tahunan, jumlah bulanan, mingguan, dan harian untuk setiap daftar cache
  • Opsional objek registri per-permintaan
  • dukungan opsional untuk menghapus lembut

Persyaratan :

  • Python
  • Django

Komentar untuk listy-django-cache

Komentar tidak ditemukan
Tambahkan komentar
Aktifkan gambar!