下载第三方包:
pip install drf-extensions
pip install django-redis
settings配置:
# 缓存过期时间
REST_FRAMEWORK_EXTENSIONS={
"DEFAULT_CACHE_RESPONSE_TIMEOUT":60*60*24
}
# redis配置
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379 ",
#如果有密码在这里添加 : # "redis://:密码@127.0.0.1:6379 "
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
}
}
视图类中使用:
from rest_framework_extensions.cache.mixins import CacheResponseMixin
class GoodsListViewSet(CacheResponseMixin,mixins.ListModelMixin,mixins.RetrieveModelMixin,viewsets.GenericViewSet):
queryset = Goods.objects.all()
serializer_class = GoodsSerializer
pagination_class = GoodsPagination
#过滤
filter_backends =(DjangoFilterBackend,filters.SearchFilter,filters.OrderingFilter)
filter_class = GoodsFilter
就保存在redis数据库中了,过期后又会自己删除