如何避免使用 redigo 获取 Redis 值时与代码不匹配?

如何避免使用 redigo 获取 redis 值时与代码不匹配?

避免 gredis 获取值与代码不匹配问题

根据给定问题,在使用 github.com/gomodule/redigo/redis 时,遇到了获取的值为 []byte 类型的数据与代码比较不相等的问题。要解决此问题,可以采用以下步骤:

  1. redis 中获取键 email 的值,转换为 []byte 类型,并将其存储在变量 str 中。
  2. 使用 json.unmarshal 将 str 反序列化为接口类型 reply2。
  3. 将 reply2 转换为字符串并与代码比较。

以下是修改后的代码段:

...
reply, err := redis.Bytes(conn.Do("GET", key))
if err != nil {
    return nil, err
}
var reply2 interface{}
err = json.Unmarshal(reply, &reply2)
if err != nil {
    return nil, err
}

return reply2, nil

通过这种方法,可以将 redis 中的值解析为接口类型,从而避免了与 []byte 类型数据的比较问题。

以上就是如何避免使用 redigo 获取 Redis 值时与代码不匹配?的详细内容,更多请关注其它相关文章!