码迷,mamicode.com
首页 > 其他好文 > 详细

Django - 配置缓存

时间:2020-09-24 20:47:27      阅读:47      评论:0      收藏:0      [点我收藏+]

标签:指定   cache   ack   return   efault   前言   objects   tin   链接地址   

前言

  • Django的默认缓存是存在内存当中,重启服务缓存就失效了。
  • 文章选择用redis做缓存,需要预先安装redis数据库并启动服务
  • 安装pip install django-redis
  • 附带django-redis中文文档:django-redis中文文档

代码实现

在项目中的setting.py中配置

# 缓存配置
CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache", # 默认选择redis作为缓存
        "LOCATION": "redis://127.0.0.1:6379/0", # redis链接地址,并指定数据库
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    }
}

通过调用Django底层的django.core.cache中的cache缓存Api去设置缓存数据

from django.core.cache import cache


class GetArea(APIView):
    authentication_classes = []

    def get(self, request):
        # cache.get("键名")去取redis中缓存的数据
        foo = cache.get(‘foo‘)
        if foo:
            print(‘存在缓存‘, foo)
            return MyResponse(data=foo)

        province = Province.objects.all()
        province_serial = ProvinceSerializers(province, many=True)
        # cache.set("键名","值")设置缓存到redis
        cache.set(‘foo‘, province_serial.data)

        return MyResponse(data=province_serial.data)

未使用缓存前的响应时间

技术图片

使用缓存后的响应时间

技术图片

redis中的数据

技术图片

Django - 配置缓存

标签:指定   cache   ack   return   efault   前言   objects   tin   链接地址   

原文地址:https://www.cnblogs.com/se7enjean/p/13714391.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!