当前位置:

首页 > 编程开发 > Django怎么使用Redis进行缓存

Django怎么使用Redis进行缓存

Redis Assistant
Redis Assistant

Redis Assistant 是一款为Redis设计的高效可视化管理与监控工具,提供多种操作模式,高效处理服务器数据。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

立即下载
¥19
Windows/macOS/Linux 2026-08-22
正版软件 Windows macOS软件 Linux 数据库管理工具

1.背景和意义服务器数据非经常更新。若每次都从硬盘读取一次,浪费服务器资源、拖慢响应速度。而且数据更新频率较高,服务器负担比较大。若保存到数据库,还需要额外建立一张对应的表存储数据。在Django中建立表通常做法是建立一个模型。看似简单,但是调试麻烦、开发时长久。为了进行服务器的加速,使用Redis进行缓存。2.配置步骤如下1,服务器端安装redis(1)在Windows安装redis,方便测试Redis不支持Windows!在它官网写得很清楚。但是开发环境一般是Windows系统。为了方便开发和调试,需

本文目录

      1.背景和意义

      服务器数据非经常更新。若每次都从硬盘读取一次,浪费服务器资源、拖慢响应速度。而且数据更新频率较高,服务器负担比较大。若保存到数据库,还需要额外建立一张对应的表存储数据。在Django中建立表通常做法是建立一个模型。看似简单,但是调试麻烦、开发时长久。为了进行服务器的加速,使用Redis进行缓存。

      2.配置步骤如下

      1,服务器端安装 redis

      (1)在Windows安装redis,方便测试
      Redis不支持Windows!在它官网写得很清楚。但是开发环境一般是Windows系统。为了方便开发和调试,需要在Windows中安装Redis。微软自己弄了Redis的Windows版本。打开https://github.com/MSOpenTech/redis/releases下载msi安装包。该版本是64位。安装msi过程中,有个选项是否加入系统环境变量,记得勾上。一路下一步,安装。完成之后打开cmd,输入redis-server命令查看是否可以使用。不可以则重启一下即可。直接输入redis-server命令使用的配置文件是安装目录下的redis.windows.conf文件。
      若提示错误 “ConnectionError: Error 10061 connecting to None:6379”,可以如下操作,打开cmd输入如下命令:`redis-cli shutdown` ,再执行redis-server即可。
      (2)在ubuntu下安装,针对部署
      `sudo apt-get install redis-server`

      2,Redis 访问控制

      # 默认情况下,访问 Redis 服务器是不需要密码的,为了让其他服务器使用同时增加安全性我们需要设置 Redis 服务器的访问密码。设置访问密码为 yourpassword。
      # 由于 redis 默认绑定本机的,所以第一步取消该设置:
      `sudo vim /etc/redis/redis.conf`
      # 用vim打开该配置文件,然后注释掉下面这行:
      `# bind 127.0.0.1`
      # 然后设置登录密码,用vim打开配置文件,配置文件较长,命令模式下输入`/requirepass foobared`快速搜索该配置项:
      # 编辑配置文件
      `sudo vim /etc/redis/redis.conf`
      # 找到下面这一行并去除注释(可以搜索requirepass)
      # requirepass foobared 未修改之前
      # 修改之后
      `requirepass 123456789` # 假设123456789是我的redis密码
      # 修改后重启服务器使配置生效:
      `sudo /etc/init.d/redis-server restart`
      # 此时在登录redis,权限被控制
      root@VM-60-191-ubuntu:~# redis-cli
      127.0.0.1:6379> keys *
      (error) NOAUTH Authentication required.
      # 用密码登录,具有权限
      root@VM-60-191-ubuntu:~# redis-cli -a 123456789
      127.0.0.1:6379> keys *
      1) "key2"
      # 通过以下命令从另一台linux服务器访问redis, password替换为你的密码,host替换为要访问的服务器
      `redis-cli -a password -h hostip`
      # 数据库的数量是可以配置的,不知道数据库就是数据库0,默认情况下是16个。修改redis.conf下的databases指令:
      `databases 64`

      3,安装django-redis和settings配置

      pip install django-redis

      settings.py中加入以下内容,your_host_ip换成你的服务器地址, yoursecret换成你的服务器密码

      CACHES = {
          'default': {
              'BACKEND': 'django_redis.cache.RedisCache',
              'LOCATION': 'redis://your_host_ip:6379',
              "OPTIONS": {
                  "CLIENT_CLASS": "django_redis.client.DefaultClient",
                   "PASSWORD": "yoursecret",
              },
          },
      }
      
      
      REDIS_TIMEOUT=7*24*60*60
      CUBES_REDIS_TIMEOUT=60*60
      NEVER_REDIS_TIMEOUT=365*24*60*60
      # cache中的是必须的,下面三条可有可无(超时设置啥的)

      4,测试缓存是否成功

      为了测试看可否正常使用 redis , 进入django的后台命令模式:

      python manage.py shell

      逐条输入如下命令测试:

      from django.core.cache import cache # 引入缓存模块
      cache.set('v', '555', 60*60)      # 写入key为v,值为555的缓存,有效期30分钟
      cache.has_key('v') # 判断key为v是否存在
      cache.get('v')     # 获取key为v的缓存
      本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
      作者最新文章
      编程开发 django
      相关文章 更多
      有机编程与泡沫编程的区别
      有机编程与泡沫编程的区别

      有机编程强调代码可读性、可维护性和可扩展性,注重团队协作与最佳实践,积累可持续基础;泡沫编程追求快速实现功能,忽视代码质量,导致技术债务沉重,长期影响混乱。两者区别体现思维方式和工程文化的根本差异。

      php72w redis,docker php7安装php-redis
      php72w redis,docker php7安装php-redis

      在Docker环境下为PHP安装Redis扩展:手动编译需下载源码、安装phpize、配置编译并安装,生成redis.so并在php.d目录新建redis.ini加载,重启PHP-FPM;也可直接yum安装php72w-pecl-redis,免手动编译。

      php 如何配置 redis,php 如何设置redis
      php 如何配置 redis,php 如何设置redis

      配置PHP的Redis扩展:先安装Redis服务,从GitHub下载phpredis源码,用phpize编译安装,修改php.ini添加extension=redis.so,重启php-fpm或Apache,通过phpinfo验证并连接Redis。

      Django 模板中实现点击图片更换并实时预览的交互式图像上传
      Django 模板中实现点击图片更换并实时预览的交互式图像上传

      在Django中,用户点击现有头像触发文件选择器,选取图片后通过FileReader实现前端本地预览,不自动上传;提交表单时后端视图处理request.FILES完成保存,从而实现交互式图像上传与前后端职责分离。

      如何在 Django 模板中实现点击图片更换并实时预览(无需刷新)
      如何在 Django 模板中实现点击图片更换并实时预览(无需刷新)

      在 Django 的实际开发中,经常会遇到这样的场景:用户想换个头像,最好能直接点一下图片就弹出文件选择器,选完立刻预览,最后再在提交表单时统一上传。这个需求听起来简单,但背后涉及前端预览和后端持久化的巧妙分离。今天就来拆解一下这个经典做法的完整实现与关键细节。 先看 HTML 结构。核心思路是把

      Django 中手动插入带 ID 的记录导致主键冲突的解决方案
      Django 中手动插入带 ID 的记录导致主键冲突的解决方案

      在Django中手动插入带ID的记录会引发主键冲突,因PostgreSQL序列未同步更新。解决方案是执行setval将序列重置为当前最大ID加1。长期应避免手动指定主键,由数据库自动生成。

      Django 中使用 f-string 正确设置邮件主题避免空格丢失问题
      Django 中使用 f-string 正确设置邮件主题避免空格丢失问题

      在Django邮件主题中,空格丢失源于MIME头编码不严谨,常见于未指定charset或使用默认ASCII。推荐使用f-string并显式指定charset='utf-8',或直接使用Django的EmailMessage类自动处理,能彻底确保空格稳定输出,显著提升跨邮件客户端兼容性,避免手动拼接导致编码错误。

      Django表单怎么用_forms.Form与前端数据验证接收
      Django表单怎么用_forms.Form与前端数据验证接收

      Django的forms.Form不绑定数据库,用于接收并校验POST数据。字段名必须与HTML表单name属性一致,否则验证静默失败。通过form.is_valid()触发验证,错误信息存于errors字典。cleaned_data仅含通过字段,值为Python类型。

      c++如何将结构体序列化为Redis兼容的RESP协议格式【深度】
      c++如何将结构体序列化为Redis兼容的RESP协议格式【深度】

      C++结构体无法直接序列化为RESP协议,需手动将字段映射为*N数组嵌套$lenbulkstring形式。整数需转换为字符串并加:前缀,空字符串用$0\r\n,null用$-1\r\n。长度计算需精确到字节数,特别注意二进制安全,同时确保字段顺序与结构体定义一致。

      如何在Golang架构中部署Redict作为高能数据临时存储中转站
      如何在Golang架构中部署Redict作为高能数据临时存储中转站

      Redis作为跨服务临时状态枢纽,需按消息队列、缓存和原子状态三重角色设计。选型用List实现任务分发及延迟重试,Stream用于事件广播与位点回溯。go-redis/v8需配置MinIdleConns、MaxRetries及超时。数据写入应JSON序列化并带type标签、设合理TTL、将关键字段提至顶层。消费通过原子GET+DEL或processedkey

      查看更多
      精品专题 更多
      装机必备
      装机必备

      正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

      Windows
      Windows

      正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

      PDF教程
      PDF教程

      正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

      Mac软件 更多
      讯飞智作 网页版
      讯飞智作 网页版
      Windows/ macOS/ Linux

      讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

      火山引擎 网页版
      火山引擎 网页版
      Windows/ macOS/ Linux

      火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

      Aperty macOS版
      Aperty macOS版
      macOS

      Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

      WINDOWS 更多
      讯飞智作 网页版
      讯飞智作 网页版
      Windows/ macOS/ Linux

      讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

      火山引擎 网页版
      火山引擎 网页版
      Windows/ macOS/ Linux

      火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

      PixTV 网页版
      PixTV 网页版
      Windows

      PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。

      即将离开本站
      您即将前往第三方网站,请确认是否继续?