redis.clients.jedis.exceptions.JedisDataException: ERR wrong number of argum

最近在公司一个防重加锁中用了redis的msetnx

redis.clients.jedis.exceptions.JedisDataException: ERR wrong number of argum_第1张图片

执行时报错如上图

看错误大概就是参数有问题,可变参数,传的没问题啊。。。找到报错堆栈

redis.clients.jedis.exceptions.JedisDataException: ERR wrong number of argum_第2张图片

大概就是解析数据的时候报错了,而数据来源就是入参的数据

想到可能是可变参数的问题,随后传入两个参数尝试,发现没有问题,之前只有一个参数。

具体没找到为啥只能传入2个以上参数的原因,感觉有点不合理。待找到原因后更新此疑问。

 

10.29更新

问题找到。。。说出来有点难为情。。。

redis.clients.jedis.exceptions.JedisDataException: ERR wrong number of argum_第3张图片

上图是msetnx的方法注释,还算比较清楚的写了设置key和value,也就是说参数中的可变参数不仅不能是1,而且只能是偶数,是以key-value的形式一对一对插入的。疑惑解决。自己sb了

你可能感兴趣的:(问题)