Python 连接redis密码中特殊字符问题
連接方法:
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會報錯,報錯主要內(nèi)容:
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)
轉(zhuǎn)載于:https://www.cnblogs.com/liusijun113/p/11528686.html
總結(jié)
以上是生活随笔為你收集整理的Python 连接redis密码中特殊字符问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java for的增强_Java基础之增
- 下一篇: python死磕八之迭代器与生成器