Wenn Sie das mit Django gelieferte Modul verwenden, um den Redis-Cache zu verwalten, lautet der festgelegte Schlüssel beispielsweise „banners“. Wenn Sie den Namen in der Redis-CLI sehen, wird er zu „:1:banners“. von Django? Was ist mit 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
你自己在配置redis会选择redis的库,redis本身就分为几个库,看你配置是哪一个
这个是django cache的机制, key由前缀,版本号,真正的key组成。django在升级或者代码重构的时候有用,可以判断key是那个版本号,从而进行兼容(其它欢迎补充)
1.首先看django redis client api的实现:
它使用了make_key这个函数制作新的key,至于真正的key是从_backend.key_func来的。
2.其次查看django cache backend实现
由此可见,django redis cache的key是有前缀,版本号,真正的key组成。