具有自动粒度失效的django缓存后端
django-clever-cache的Python项目详细描述
Django缓存后端具有自动粒度失效。
需要
- django>;=1.8
- redis=3.0
- Django Redis
安装和设置
$ pip install django-clever-cache
在settings.py中:将clever_cache添加到已安装的应用,并设置 clever_cache.backend.RedisCache作为缓存后端。
CACHES={"default":{"BACKEND":'clever_cache.backend.RedisCache',"LOCATION":"redis://127.0.0.1:6379/1","OPTIONS":{'DB':1,}}}
用法
使用standart函数在缓存中保存值 django.core.cache.cache.set带可选参数depends_on: cache.set(key, value, depends_on=[<dependencies_list>])
依赖关系可以是:
模型类
如果将模型类设置为依赖项(cache.set(key, value, depends_on=[SomeModel])),并更改任何 somemodel的实例,调用bulk_create、update或delete到 模型的queryset,key将失效。
模型实例
如果将模型实例设置为依赖项 (cache.set(key, value, depends_on=[some_instance])),并更改此 实例(包括更改M2M字段),密钥将失效。