• 接口缓存--把接口放在redis数据库中,减少访问量


    针对访问量大,且数据较固定的接口,建议建立接口缓存,建立了缓存之后,不会再直接去访问接口了。

    比如下面的轮播图接口,每刷新一下首页都会访问一下轮播图接口,所以我们用接口缓存来处理,减少访问量。

     视图模块:home/views.py

    from rest_framework.generics import ListAPIView
    from . import models, serializers
    from settings.const import BANNER_COUNT
    
    # 访问量大,且数据较固定的接口,建议建立接口缓存
    from django.core.cache import cache
    from rest_framework.response import Response
    class BannerListAPIView(ListAPIView):
        queryset = models.Banner.objects.filter(is_delete=False, is_show=True).order_by('-orders')[:BANNER_COUNT]
        serializer_class = serializers.BannerModelSerializer
    
        # 缓存有,走缓存,缓存没有走数据库
        def list(self, request, *args, **kwargs):  #群查
            banner_data = cache.get('banner_list')
            if not banner_data:
                print('走数据库')
                response = super().list(request, *args, **kwargs)
                banner_data = response.data
                # 建立缓存,不建议设置缓存过期时间,用celery等框架后台异步更新缓存即可
                cache.set('banner_list', banner_data)
            return Response(banner_data)
  • 相关阅读:
    XAF 如何在工具栏显示多参数
    XAF Study Recources
    常用工具
    Linux下Kill函数用法
    ipv6相关转换
    宣布回归
    微软夏令营
    APEX SDK阅后感
    寻求offer,开始记录我的征程
    衣服模拟结果
  • 原文地址:https://www.cnblogs.com/wangcuican/p/11774470.html
Copyright © 2020-2023  润新知