首先 pip install django-redis依赖包
在django的settings下做缓存配置,这里设置使用redis数据库做缓存
#===================================系统缓存设置=================================================== CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCache", # 使用的数据库为redis "LOCATION": "redis://localhost:6379/2", # redis缓存所在地址 #实现了客户端分片 #"LOCATION": [ # "redis://127.0.0.1:6379/1", # "redis://127.0.0.1:6379/2", #], #redis://: 普通的 TCP 套接字连接 #rediss://: SSL 包裹的 TCP 套接字连接 "OPTIONS": { "CLIENT_CLASS": "django_redis.client.DefaultClient", #使用 json 序列化数据 #"SERIALIZER": "django_redis.serializers.json.JSONSerializer", #实现了客户MEDIA_ROOT端分片 #"CLIENT_CLASS": "django_redis.client.ShardClient", #密码 #"PASSWORD": "1352099" } } }
然后在view.py里 导入 from django.core.cache import cache
设置缓存
# timeout 表示过期时间 # timeout=None 永不超时 cache.set("key", "value", timeout=None)通过值 (value) 获取 ttl (time to live)
在 redis 中, 你可以获取任何 key 的 ttl,django-redis 也支持获取 ttl 的函数:
它返回: 0 key 不存在 (或已过期). None key 存在但没有设置过期. ttl 任何有超时设置的 key 的超时值. 以 keys 搜索过期:
from django.core.cache import cache cache.set("key", "value", timeout=25) cache.ttl("key") 25 cache.ttl("not-existent") 0
django-redis 支持使用全局通配符的方式来检索或者删除键.
使用通配符搜索的例子
cache.keys("foo_*") //查询
["foo_1", "foo_2"] // 结果
使用 delete_pattern 的例子 删除
cache.delete_pattern("foo_*")