首页 > 编程语言 > 详细

Python 连接redis密码中特殊字符问题

时间:2019-09-16 18:17:41      阅读:705      评论:0      收藏:0      [点我收藏+]

连接方法:

self.pool = redis.ConnectionPool.from_url(self.redis_url)
opredis = redis.Redis(connection_pool=self.pool)
redis_url = ‘redis://:cot$#D4^&1234@172.31.26.174:6379/0‘

直接连redis会报错,报错主要内容:

ValueError: invalid literal for int() with base 10

问题:redis密码中不允许有特殊字符 ? #,具体请查看ConnectionPool.from_url方法

解决方法:

配置密码是对密码encode,连接时对密码decode

以python3为例:

from urllib import parse

redis_url = ‘redis://:{}@172.31.26.174:6379/0‘.format(parse.quote(‘cot$#D4^&1234‘))

self.pool = redis.ConnectionPool.from_url(self.redis_url, , decode_components=True) 

opredis = redis.Redis(connection_pool=self.pool)

Python 连接redis密码中特殊字符问题

原文:https://www.cnblogs.com/liusijun113/p/11528686.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!