我发现了这个错误:ERR wrong number of arguments for 'zadd' command in golang.这是我的代码:defaultPriority:type Stringmb.MessageID:type stringmb.EndpointID: type string _, err = mbDal.redisClient.ZAdd(mb.EndpointID, redis.Z{Score: defaultPriority, Member: mb.MessageID}) if err != nil { return fmt.Errorf("failed to add mailbox id %s in redis; error %v", mb.MessageID, err) }如何修复此错误消息?
2 回答
慕桂英546537
TA贡献1848条经验 获得超10个赞
// Redis `ZADD key score member [score member ...]` command.
func (c cmdable) ZAdd(key string, members ...*Z) *IntCmd {仔细检查您的go.mod依赖项列表。
10 个月前,在 go-redis v7(而不是当前的 v8)中,该函数的签名是:
func (c *cmdable) ZAdd(key string, members ...Z) *IntCmd {它使用 Z 而不是(今天)*Z。
在您的情况下,您应该通过:
&redis.Z{Score: defaultPriority, Member: mb.MessageID}
牛魔王的故事
TA贡献1830条经验 获得超3个赞
我试图插入redis.Z{Score: [an int value], Member: code},Redis sorted set但由于该错误而失败。
所以我检查了我的逻辑,发现有人用code空字符串调用我的方法。在我的情况下,第一次插入成功,但之后,所有插入都因该错误而失败。
我正在使用
github.com/go-redis/redis v6.15.6
- 2 回答
- 0 关注
- 830 浏览
添加回答
举报
0/150
提交
取消
