登录
首页 >  Golang >  Go问答

在 Go 中使用 ZAddArgs 的教程

来源:stackoverflow

时间:2024-03-14 22:09:18 384浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《在 Go 中使用 ZAddArgs 的教程》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

问题内容

我正在使用 https://github.com/redis/go-redis/ 包。我正在尝试使用 nzaddgt 选项。我在commands_test.go中发现了一个单元测试,它使用zaddargs方法来使用gt选项:

// test only the gt+lt options.
added, err := client.zaddargs(ctx, "zset", redis.zaddargs{
   gt:      true,
   members: []redis.z{{score: 1, member: "one"}},
}).result()

当我在代码中应用相同的策略时,我从 redis 收到错误: syntax error 没有其他解释。难道我做错了什么?这是我的代码:

score := 50
member := "Tester"
members := []redis.Z{{Score: score, Member: member}}
_, err := client.ZAddArgs(ctx, config.Key, redis.ZAddArgs{
    GT: true,
    Members: members,
}).Result()

if err != nil {
    panic(err.Error()) // results in "ERR syntax error"
}

正确答案


看起来是 Redis 版本的问题。它必须至少为 6.2.0。对于任何寻找解决方法的人:

  1. 使用ZSCORE成员检索当前分数
  2. 将现有分数与新分数进行比较
  3. 如果新分数更高,则更新

到这里,我们也就讲完了《在 Go 中使用 ZAddArgs 的教程》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>