
避免 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 类型数据的比较问题。










