python访问redis的问题

今天在本机上(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 redisimport ConfigParserimport redis.sentinelclass 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中文网!

立即学习“Python免费学习笔记(深入)”;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2279625.html

(0)
上一篇 2025年2月27日 17:33:38
下一篇 2025年2月18日 09:52:06

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Python全栈之路系列之文件操作

    python可以对文件进行查看、创建等功能,可以对文件内容进行添加、修改、删除,且所使用到的函数在python3.5.x为open,在python2.7.x同时支持file和open,但是在3.5.x系列移除了file函数。 Python文…

    编程技术 2025年2月27日
    200
  • Python抓取百度百科数据

    抓取策略 确定目标:确定抓取哪个网站的哪些页面的哪部分数据。本实例抓取百度百科python词条页面以及python相关词条页面的标题和简介。分析目标:分析要抓取的url的格式,限定抓取范围。分析要抓取的数据的格式,本实例中就要分析标题和简介…

    2025年2月27日 编程技术
    200
  • Python-Virtualenv

    注释 在使用virtualenv前ubuntu默认的解释器是python2.7,而且/usr/lib/python3里面已经安装好了ipython3和requests $ pythonPython 2.7.12 (default, Nov …

    编程技术 2025年2月27日
    200
  • Python-Django

    准备工作 新建一个django项目 # 新建一个django项目$ django-admin startproject mysite# 新建一个app$ django-admin startapp blog 登录后复制 项目的结构 ├── …

    编程技术 2025年2月27日
    200
  • python学习笔记 – ThreadLocal

    我们在编写多线程程序的时候,往往会遇到两种类型的变量。 一种是全局变量,多个线程共享。为了避免改乱为,我们在前面已经提到说要加锁。 一种是局部变量。仅供一个线程使用,线程间相互不影响。 例如下列程序中task()函数中定义的count变量就…

    编程技术 2025年2月27日
    200
  • [python] 初探’函数式编程’

    函数式编程 上学期有上一门叫 ‘人工智能’ 的课,老师强行要我们学了一个叫做 prolog 的语言,哇那感觉确实难受,思维方式完全和之前学过的不一样,写个汉诺塔想了半天,最后还是在网上找了段代码修改一下(怕被老师发现…

    编程技术 2025年2月27日
    200
  • Python-解决Cx_Oracle查询时UnicodeDecodeError的问题

    近期在项目中,要对1张100多万条记录的表进行查询,然后进行一些数据的统计,但是在这个过程中,发现只查询出来几条数据就出现了unicodedecodeerror了。  在这里,我们使用sqlalchemy库进行查询,其内部还是cx_orac…

    编程技术 2025年2月27日
    200
  • python小脚本:定时提醒喝水

                        ## -*- coding: utf-8 -*- import subprocessimport time,osdef createFile(filename): if os.path.exists(…

    编程技术 2025年2月27日
    200
  • [Python]实现Python类的公共属性

    背景 今天看到有人问python的类有没有类似公共属性的特性,就是修改了某个实例的对应属性,该类的所有实例的对应属性都随之修改,想了想用了一个辅助的单例模式的类解决了问题。 思路 修改一个实例另一个实例也跟着修改,听起来很像单例模式的特性,…

    编程技术 2025年2月27日
    200
  • Python全栈之路系列之元组数据类型

    元组(tuple)和列表的为唯一区别就是列表可以更改,元组不可以更改,其他功能与列表一样 创建元组的两种方法 第一种 ages = (11, 22, 33, 44, 55) 登录后复制 第二种 ages = tuple((11, 22, 3…

    编程技术 2025年2月27日
    200

发表回复

登录后才能评论