说明:最近自己在做一个小说的DRF项目,也是为了检验一下自己学习的效果。
假想:这个项目投入运营,会有大量的小说供大家阅读,但是小说内容并不是实时更新的,至少不会三五分钟就更新章节吧。一般应该是一天更新一次吧。那么这里就全部配置为24小时更新一次缓存。
缓存工具:redis数据库
实现缓存步骤:
1)安装drf-extensions
drf-extensions 是 DRF 框架的自定义扩展的集合,其中就包含有缓存的扩展。
pip install drf-extensions
2)安装django-redis
pip install django-redis
3)配置settings文件
REST_FRAMEWORK_EXTENSIONS = {
# 缓存时间配置
'DEFAULT_CACHE_RESPONSE_TIMEOUT': 24 * 60 * 60,
}
# redis配置
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/1",
"OPTIONS": {
# 如果有密码在这里添加 "PASSWORD":"你的密码",
}
}
}
4)接下来就在我们要进行缓存的位置设置
如果是使用的视图集可以直接继承CacheResponseMixin类&