DRF 缓存解决方案 drf-extensions / redis

Posted shijieli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DRF 缓存解决方案 drf-extensions / redis相关的知识,希望对你有一定的参考价值。

drf-extensions

概述

drf-extensions组件内部提供了 DRF  的本地内存方式的缓存方式

本地内存方式缓存在项目重启后则会消失

官方点击 这里  

安装

pip3 install drf-extensions

or from github

pip3 install https://github.com/chibisov/drf-extensions/archive/master.zip

导入

from rest_framework_extensions.cache.mixins import CacheResponseMixin

使用

在要被使用的 DRF 视图类中继承此类( 最好写在第一个 )

class GoodsListViewset(CacheResponseMixin, mixins.ListModelMixin.....):
    pass

配置

此处配置为5s失效, 其他配合点击这里 查看 

REST_FRAMEWORK_EXTENSIONS = {
    DEFAULT_CACHE_RESPONSE_TIMEOUT: 5
}

效果

在无缓存的时候请求是 1s 左右

技术图片

有缓存的时候为 43ms, 超时5s后则变回1s, 5s内刷新都是40ms左右

技术图片

Redis

安装

使用第三方组件 django-redis

pip install django-redis -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

 

以上是关于DRF 缓存解决方案 drf-extensions / redis的主要内容,如果未能解决你的问题,请参考以下文章

drf-缓存相关

drf版本控制 django缓存

DRF缓存

django-redis结合drf实现缓存

drf中的jwt使用与手动签发token校验用户

jwt