gpt4 book ai didi

go - Redigo 多请求

转载 作者:IT王子 更新时间:2023-10-29 00:39:28 27 4
gpt4 key购买 nike

我以前一直在用这个:

data, err := redis.Bytes(c.Do("GET", key))

确保返回的数据是 byte slice 。

但是,我现在需要向 Redis 请求添加一个额外的命令,所以我有这样的东西:

c.Send("MULTI")
c.Send("GET", key)
c.Send("EXPIRE", key)
r, err := c.Do("EXEC")

但现在我似乎无法让 GET 命令返回一段字节。我试过像下面那样添加 redis.Bytes 但没有成功。

c.Send("MULTI")
redis.Bytes(c.Send("GET", key))
c.Send("EXPIRE", key)
r, err := c.Do("EXEC")

最佳答案

在redis中,EXEC命令返回一个包含事务中所有命令结果的数组。

redigo 提供了一个Values 函数,它将一个数组命令回复转换为一个[]interface{}

c.Send("MULTI")
c.Send("GET", key)
c.Send("EXPIRE", key)
r, err := redis.Values(c.Do("EXEC"))

r[0] 现在将来自 GET 命令的回复作为 interface{},因此您需要执行键入断言以获取您期望的 byte slice 段:

data := r[0].([]byte)

引用资料

关于go - Redigo 多请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30525005/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com