python 与redis集群交互报错: ImportError: cannot import name ‘StrictRedisCluster‘

一 运行Python程序与redis交互报错提示:ImportError: cannot import name 'StrictRedisCluster'

from rediscluster import strictRedisCluster

if __name__ == "__main__":
    '''python与redis server集群交互'''
    try:
        # 构建所有节点,redis会根据CRC16算法,将键和值分配到某个节点上
        startup_nodes = [
            {'host':'192.168.1.7','port':'7000'},
            {'host':'192.168.1.7','port':'7001'},
            {'host':'192168.1.7','port':'7002'},
        ]
        # 创建StrictRedisCluster对象
        src = strictRedisCluster(startup_nodes=startup_nodes,decode_response=True)
        # 设置键值对 alis et
        result = src.set('alis','et')
        print(result)
        # 获取键值对
        ret = src.get('alis')
        print(ret)
    except Exception as e:
        print(e)

 找问题:pip list 命令查看redis 和redis_py_cluster版本

qiang@ubuntu:~/redis$ pip3 list


redis                         3.5.3
redis-py-cluster              2.1.0
 

 了解到redis5.0修改了方法不支持该StrictRedisCluster方法,使用RedisCluster方法,把代码中StrictRedisCluster替换为RedisCluster,且decode_responses(不是decode_response),否则也会报错:__init__() got an unexpected keyword argument 'decode_response',以上都修改好后,重新运行python3 xxx.py,成功!

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值