最近在公司一个防重加锁中用了redis的msetnx
执行时报错如上图
看错误大概就是参数有问题,可变参数,传的没问题啊。。。找到报错堆栈
大概就是解析数据的时候报错了,而数据来源就是入参的数据
想到可能是可变参数的问题,随后传入两个参数尝试,发现没有问题,之前只有一个参数。
具体没找到为啥只能传入2个以上参数的原因,感觉有点不合理。待找到原因后更新此疑问。
10.29更新
问题找到。。。说出来有点难为情。。。
上图是msetnx的方法注释,还算比较清楚的写了设置key和value,也就是说参数中的可变参数不仅不能是1,而且只能是偶数,是以key-value的形式一对一对插入的。疑惑解决。自己sb了