ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Luffy /6/ 接口缓存

2022-05-02 18:34:21  阅读:153  来源: 互联网

标签:缓存 cache list 接口 BannerView Luffy banner response


Luffy /6/ 接口缓存

这里将banner图片作为缓存放入redis

视图

class BannerView(GenericViewSet,ListModelMixin):
    # qs对象可以像列表一样,切片
    queryset = Banner.objects.filter(is_delete=False, is_show=True).order_by('orders')[:settings.BANNER_COUNT]
    serializer_class = BannerSerializer

    def list(self, request, *args, **kwargs):  # 重写list设置缓存
        banner_list=cache.get('banner_cache_list')
        if not banner_list:   # 如果缓存中没有缓存,那么第一次走数据库,并放入缓存
            response = super().list(request, *args, **kwargs)
            print(response.data,'走了数据库')
            cache.set('banner_cache_list',response.data)
        else:  # 缓存中有banner,走缓存
            print('走了缓存')
            response = Response(data=banner_list)

        return response

路由

from django.urls import path, include
from rest_framework.routers import SimpleRouter
from .views import BannerView

router = SimpleRouter()
router.register('banner', BannerView, 'banner')
urlpatterns = [
    path('', include(router.urls)),

]

image-20220502180921612

标签:缓存,cache,list,接口,BannerView,Luffy,banner,response
来源: https://www.cnblogs.com/48xz/p/16216343.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有