Redigo: 哪里有基本的例子?

创建于 2020-04-03  ·  7评论  ·  资料来源: gomodule/redigo

我想念什么吗? 我找不到罗勒示例,只是连接并设置值然后获得相同的值。 没有池或集群。 我什至不知道如何连接到数据库。

我知道对于 Golang 的专业人士来说,一切都是显而易见的,但我是 Go 的第一周开发人员,并不是所有的事情都是显而易见的,我需要例子。

所有7条评论

godoc 中的示例很好地涵盖了这一点。
https://godoc.org/github.com/gomodule/redigo/redis#pkg -examples

以下是建立新连接的方法:
https://godoc.org/github.com/gomodule/redigo/redis#example -Dial

此代码段向您展示了如何先写入然后读取字符串:
https://godoc.org/github.com/gomodule/redigo/redis#example -String

谢谢你。 我想要的是获取具有键p_1:*列表行

这是我的代码

       conn, err := redis.DialURL("redis://172.17.0.1:6379")
    defer conn.Close()

    if err != nil {
        panic(err.Error())
    }

    res, err := conn.Do("KEYS", "p_1:*")

    if err != nil {
        panic(err.Error())
    }

    res, err = redis.Values(conn.Do("MGET", res))
    if err != nil {
        panic(err.Error())
    }

    fmt.Println(res)

当我拿到钥匙时, res有一些看起来像字节数组的东西。 但我无法获得这些键值。

查看我在之前的帖子中链接到的文档,当使用“GET”读取字符串时,您应该使用转换函数redis.String()将字节结果转换为 Golang 字符串。

首先,让我说我如何感谢您的时间。

我查看了文档,但我无法理解。 当我拿到钥匙时,我就有了结果。 但是当我 MGET 我有nil

我不使用 GET。 我使用 KEYS 并且应该返回数组,所以也许我必须将 KEYS 转换为其他东西。

你能看看我的代码并告诉我缺少什么吗?

你要:

    keys, err := redis.Strings(conn.Do("KEYS", "p_1:*"))
    if err != nil {
        panic(err.Error())
    }

    for _, k := range keys {
        fmt.Println(k)
    }

@stevenh是的,ш 可以做到。 ш 可以是键列表。 我无法将此列表转换为适当的格式以使用 MGET

不需要转换只需使用可变参数扩展传递结果,例如

vals, err := redis.Values(conn.Do("HGET", keys...))
此页面是否有帮助?
0 / 5 - 0 等级

相关问题

smotes picture smotes  ·  18评论

V2Vz picture V2Vz  ·  4评论

elimisteve picture elimisteve  ·  7评论

mika picture mika  ·  5评论

jney picture jney  ·  17评论