Apabila menggunakan modul yang disertakan dengan Django untuk mengendalikan cache redis, kunci yang ditetapkan ialah, sebagai contoh, "sepanduk". Apabila anda melihat nama dalam cli redis, ia menjadi ":1:banners". dari Django? Bagaimana dengan redis
from django.core.cache import cache
def get_queryset(self):
key = "banners"
queryset = cache.get(key)
if not queryset:
queryset = Banner.objects.filter(valid=True)
cache.set(key, queryset, 3600)
return queryset
Apabila mengkonfigurasi redis sendiri, anda akan memilih perpustakaan redis itu sendiri terbahagi kepada beberapa perpustakaan, ia bergantung pada mana yang anda konfigurasikan
Ini adalah mekanisme cache Django Kuncinya terdiri daripada awalan, nombor versi dan kunci sebenar. Django berguna semasa menaik taraf atau memfaktorkan semula kod Anda boleh menentukan nombor versi mana kuncinya untuk keserasian (tambahan lain dialu-alukan)
1. Lihat dahulu pelaksanaan django redis client api:
Ia menggunakan fungsi make_key untuk mencipta kunci baharu. Kunci sebenar datang daripada _backend.key_func.
2 Seterusnya, lihat pelaksanaan bahagian belakang cache Django
Ia boleh dilihat bahawa kunci cache django redis terdiri daripada awalan, nombor versi dan kunci sebenar.