问题描述

使用Python连接Azure Redis服务,因为在代码中使用的是Djange-redis组件,所以通过如下的配置连接到Azure Redis服务:

CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://xxxxxxxxx.redis.cache.chinacloudapi.cn:6380/1",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
}
}

但是当部署到AKS中后,发现一直报错 [ERROR][testdjangeredis.py:109]Error while reading from xxxxxxxxx.redis.cache.chinacloudapi.cn:6380 : (104, 'Connection reset by peer')

问题解答

查看Django-redis的官方文档,对 cache backend 中Location的介绍为:

URL 格式举例

  1. redis://[:password]@localhost:6379/0
  2. rediss://[:password]@localhost:6380/0
  3. unix://[:password]@/path/to/socket.sock?db=0

支持三种 URL scheme :

  • redis://: 普通的 TCP 套接字连接
  • rediss://: SSL 包裹的 TCP 套接字连接
  • unix://: Unix 域套接字连接

指定数据库数字的方法:

  • db 查询参数, 例如: redis://localhost?db=0
  • 如果使用 redis:// scheme, 可以直接将数字写在路径中, 例如: redis://localhost/0

在仔细对比配置,发现连接Azure Redis的时候使用SSL 6380端口,而Djange-Redis的配置中 scheme 还继续使用的 redis://,而不是rediss://,所以导致 Connection reset。

为了解决以上问题,直接修改Location设置为:rediss://xxxxxxxxx.redis.cache.chinacloudapi.cn:6380/1 即可!

CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "rediss://xxxxxxxxx.redis.cache.chinacloudapi.cn:6380/1",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
}
}

附录一:在机器人ChatGPT中寻求 djange_redis 配置答案

问题一:如何配置djange_redis:

问题二:如何设置Djange_redis的超时时间

问题三:如何设置djange_redis的keep_alive

问题四:如何启用djange_redis SSL

问题五:启用django-redis的SSL并通过6380端口连接示例

参考资料

django-redis 中文文档:https://django-redis-chs.readthedocs.io/zh_CN/latest/index.html

 

最新文章

  1. Java语言程序设计(基础篇) 第四章 数学函数、字符和字符串
  2. Admin Panel – 非常漂亮的后台管理系统模板
  3. C#代码实现对HTTP POST参数进行排序
  4. 【Java学习笔记】<集合框架>TreeSet,Comparable,Comparator
  5. gulp+Babel 搭建ES6环境
  6. vsftp快速配置
  7. 深入JS第一天:原型和它的小伙伴们(一)
  8. sql获取exec('')的返回值
  9. -_-#【Backbone】Router
  10. 集团财务分析BI项目中的财务系统环境
  11. [转载]Android中WebView自适应屏幕
  12. Web应用的组件化(二)——管控平台 #7
  13. WinForm 控件(上)
  14. Mybatis基础学习(三)—映射文件
  15. 图文详解AO打印(端桥模式)
  16. 简述ES6其他的东西
  17. border-radius 圆角
  18. CSS背景图片
  19. github/gitee使用办法2
  20. 【转】SEGGER Embedded Studio 新建stm32f103工程

热门文章

  1. 论文笔记 - Noisy Channel Language Model Prompting for Few-Shot Text Classification
  2. 我把 CPU 三级缓存的秘密,藏在这 8 张图里
  3. HTTPS详解一
  4. 本地GoLand编辑与调试远端服务器上的代码
  5. Redis集群研究和实践(基于redis 3.2.5)(一)
  6. 高效率开发Web安全扫描器之路(一)
  7. Android ViewPager2 + Fragment + BottomNavigationView 联动
  8. js day04 实参与形参个数不一致
  9. 一文教会你如何在内网搭建一套属于自己小组的在线 API 文档?
  10. 【vue3】element-plus,Checkbox-Group多选框之绑定选中数据不选中问题