Django-Redis缓存
2018-01-03 本文已影响66人
不一样的丶我们
- 首先确认使用所需的配置环境
- 确认安装Redis数据库
- 确认运行环境安装Django-redis模块
- 配置缓存设置
- 项目settings文件添加缓存设置
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/1",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
}
}
- 创建缓存文件cache_model.py,创建缓存函数
#此处的 flag 定义默认为 false 是为了后面更新缓存使用
def find_all_person(flag=False) :
# 缓存中获取数据
print('缓存中获取数据\n')
plist=cache.get("plist")
# 通过参数 flag 判断数据库更新与否,判断缓存是否更新
if plist is None or flag:
# 从数据库中查询数据
print('数据库查询数据')
plist=person_manager.find_all()
# 同步到缓存
print('同步到缓存中")
cache.set("plist",plist)
return plist
- views视图函数添加缓存模块
from . import cache_model
#查询数据通过缓存中拿取,不再直接向数据库取
plist=cache_model.find_all_person()
#每当数据更让时,告诉缓存函数,更新缓存:
#更新缓存数据调用缓存函数,传递参数 flag 为 true
cache_model.find_all_person(True)