python操作redis报错:redis.exceptions.DataError: ZADD allows either 'nx' or 'xx', not bot

Posted 坚持是一种习惯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python操作redis报错:redis.exceptions.DataError: ZADD allows either 'nx' or 'xx', not bot相关的知识,希望对你有一定的参考价值。

一、问题描述

sorted set操作执行:print(connect.zadd(‘grade‘, ‘bob‘, 98, ‘mike‘ ,100))时报错redis.exceptions.DataError: ZADD allows either ‘nx‘ or ‘xx‘, not both
 
二、出现该问题原因
 
上面的connect.zadd(‘key‘,‘value1‘,‘score1‘,‘value2‘,‘score2‘)写法是redis-py 3.0之前的版本
 
在redis-py 3.0版本之后,写法变为:connect.zadd(‘grade‘, {‘bob‘:100, ‘mike‘:99, ‘lucy‘:87})这种写法了,所以会报错

三、解决方案

更改写法为:connect.zadd(‘key‘,{‘value1‘:‘score1‘,‘value2‘:‘scote2‘,.....})

以上是关于python操作redis报错:redis.exceptions.DataError: ZADD allows either 'nx' or 'xx', not bot的主要内容,如果未能解决你的问题,请参考以下文章

Python 连接 Redis 报错,求助

redis 命令行操作报错

python笔记7:mysqlredis操作

错误记录使用 Jedis 操作 Redis 数据库报错 ( JedisConnectionException | Redis 连接超时故障排查点 | 绑定配置 | 保护模式 | 防火墙 )

php yii框架操作redis问题。可以获取到redis对象信息,但是set总是报错。

Python 程序报错崩溃后,如何倒回到崩溃的位置?