Django:解决配置缓存问题

发表于:2023-7-06 09:10

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:吹神    来源:博客园

#
Django
  前言
  Django的默认缓存是存在内存当中,重启服务缓存就失效了。
  文章选择用redis做缓存,需要预先安装redis数据库并启动服务。
  安装:pip install 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中的数据:
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号