最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

python访问redis的问题

来源:懂视网 责编:小采 时间:2020-11-27 14:26:42
文档

python访问redis的问题

python访问redis的问题:今天在本机上(windows)用python访问redis出错,有两种类型的错误:如果我配sentinel的方式,则会报 unknown command 'SENTINEL'这样的错误;如果我配StrictRedis的方式,则会报NOAUTH Authentication required.错误
推荐度:
导读python访问redis的问题:今天在本机上(windows)用python访问redis出错,有两种类型的错误:如果我配sentinel的方式,则会报 unknown command 'SENTINEL'这样的错误;如果我配StrictRedis的方式,则会报NOAUTH Authentication required.错误

今天在本机上(windows)用python访问redis出错,有两种类型的错误:
如果我配sentinel的方式,则会报 unknown command 'SENTINEL'这样的错误;
如果我配StrictRedis的方式,则会报NOAUTH Authentication required.错误;

mark一下,明天想办法解决。。

ps:最终发现mongo连接失败是密码没有设置导致(居然是因为把线上配置看成线下配置了。。)
对于第一种错误,公司最近线上出现问题,正好遇到这样的错误,主要原因是sentinel没启动起来;不过这其中的过程有些坑爹,公司有3台redis sentinel机器,其中的一台机器宕机以后,另外两台机器始终无法选举出一台作为主,因为不知道哪位临时工在做redis配置的时候把选举机器的配置为3,导致只要宕掉一台就无法选举出来。实际上应该是把配置改为n-m, n为机器数,m为允许宕掉的机器数。

附上redis的代码如下:

import redis
import ConfigParser
import redis.sentinel


class RedisConn:
 _rp = None

 def __init__(self):
 cp = ConfigParser.SafeConfigParser()
 cp.read('avatar_redis.conf')
 host = cp.get('redis', 'host')
 port = cp.get('redis', 'port')
 db_name = cp.get('redis', 'dbName')
 pass_word = cp.get('redis', 'passWord')
 self._rp = redis.StrictRedis(host=host, port=port, db=0, password=pass_word)
 # = redis.ConnectionPool(host=host, port=port, db=0, password='')
 #sentinel = redis.sentinel.Sentinel([(host, port)], socket_timeout=0.1)
 #self._rp = sentinel.master_for(db_name, socket_timeout=0.1)
 #self._rp = redis.Redis(connection_pool=conn_pool)

 def get_conn(self):
 return self._rp

 def set_value(self, key, value):
 self._rp.set(key, value)

 def get_value(self, key):
 return self._rp.get(key)

更多python访问redis的问题 相关文章请关注PHP中文网!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

python访问redis的问题

python访问redis的问题:今天在本机上(windows)用python访问redis出错,有两种类型的错误:如果我配sentinel的方式,则会报 unknown command 'SENTINEL'这样的错误;如果我配StrictRedis的方式,则会报NOAUTH Authentication required.错误
推荐度:
标签: 操作 问题 的问题
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top