【发布时间】:2019-08-03 16:19:42
【问题描述】:
我在 redis 中有一些数据。 该值以字节的形式存储。 我想获取字节并将其映射到结构,但我无法解码字节数据。 这是我用来将数据持久化到 redis 的代码:
import (
bytes "bytes"
"encoding/gob"
"fmt"
"github.com/go-redis/redis"
"time"
)
var convertor bytes.Buffer
var encoder = gob.NewEncoder(&convertor)
var decoder = gob.NewDecoder(&convertor)
func Set(field string, value interface{}) (error){
id := "sample-key";
err := encoder.Encode(value)
if err!=nil {
fmt.Printf("error occured while marshaling data")
return err;
}
valueBytes := convertor.Bytes()
err = redisdb.HSet(id, field, valueBytes).Err();
if err!=nil{
fmt.Printf("error occured while setting data")
return err;
}
return nil;
}
这就是我从 redis 获取数据的方式:
result, err := redisdb.HGet(key, field).Result()
if err != nil{
fmt.Println("error occured");
}
但我无法将其存储到结构中。如何将字节数据解码为结构?
【问题讨论】:
-
你遇到了什么错误?