如何避免使用 redigo 获取 Redis 值时与代码不匹配?
避免 gredis 获取值与代码不匹配问题
根据给定问题,在使用 github.com/gomodule/redigo/redis 时,遇到了获取的值为 []byte 类型的数据与代码比较不相等的问题。要解决此问题,可以采用以下步骤:
- 从 redis 中获取键 email 的值,转换为 []byte 类型,并将其存储在变量 str 中。
- 使用 json.unmarshal 将 str 反序列化为接口类型 reply2。
- 将 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 值时与代码不匹配?的详细内容,更多请关注其它相关文章!