为了账号安全,请及时绑定邮箱和手机立即绑定

ERR 'zadd' 命令的参数数量错误

ERR 'zadd' 命令的参数数量错误

Go
郎朗坤 2022-05-23 16:16:23
我发现了这个错误: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个赞

zadd用于go-redis/redis, 并在此处定义

// 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}


查看完整回答
反对 回复 2022-05-23
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

我试图插入redis.Z{Score: [an int value], Member: code}Redis sorted set但由于该错误而失败。

所以我检查了我的逻辑,发现有人用code空字符串调用我的方法。在我的情况下,第一次插入成功,但之后,所有插入都因该错误而失败。

  • 我正在使用github.com/go-redis/redis v6.15.6


查看完整回答
反对 回复 2022-05-23
  • 2 回答
  • 0 关注
  • 830 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号