【Azure Cache for Redis】Python Djange-Redis连接Azure Redis服务遇上(104, 'Connection reset by peer')
2024-10-21 09:19:06
问题描述
使用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 格式举例
- redis://[:password]@localhost:6379/0
- rediss://[:password]@localhost:6380/0
- 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
最新文章
- Java语言程序设计(基础篇) 第四章 数学函数、字符和字符串
- Admin Panel – 非常漂亮的后台管理系统模板
- C#代码实现对HTTP POST参数进行排序
- 【Java学习笔记】<;集合框架>;TreeSet,Comparable,Comparator
- gulp+Babel 搭建ES6环境
- vsftp快速配置
- 深入JS第一天:原型和它的小伙伴们(一)
- sql获取exec(&#39;&#39;)的返回值
- -_-#【Backbone】Router
- 集团财务分析BI项目中的财务系统环境
- [转载]Android中WebView自适应屏幕
- Web应用的组件化(二)——管控平台 #7
- WinForm 控件(上)
- Mybatis基础学习(三)&mdash;映射文件
- 图文详解AO打印(端桥模式)
- 简述ES6其他的东西
- border-radius 圆角
- CSS背景图片
- github/gitee使用办法2
- 【转】SEGGER Embedded Studio 新建stm32f103工程
热门文章
- 论文笔记 - Noisy Channel Language Model Prompting for Few-Shot Text Classification
- 我把 CPU 三级缓存的秘密,藏在这 8 张图里
- HTTPS详解一
- 本地GoLand编辑与调试远端服务器上的代码
- Redis集群研究和实践(基于redis 3.2.5)(一)
- 高效率开发Web安全扫描器之路(一)
- Android ViewPager2 + Fragment + BottomNavigationView 联动
- js day04 实参与形参个数不一致
- 一文教会你如何在内网搭建一套属于自己小组的在线 API 文档?
- 【vue3】element-plus,Checkbox-Group多选框之绑定选中数据不选中问题