我正在使用 redigo 在 redigo 中存储和检索数据。我有一个结构,其中包含一个类型定义。我想在 Redis 中使用来存储结构。我有一个类型定义,可以通过向我的类型添加一个函数来使用。DataHSETScanStructRedisScanTimestamp
问题在于 Redis 将 存储在时间字段之后。您无法从这些字段创建新的 Time 对象,因此这相当无用。序列化 redigo 结构的正确方法是什么?Timestampext, wall, loc
type Timestamp time.Time
func (t *Timestamp) RedisScan(x interface{}) error {
...
}
type Data struct {
Timestamp Timestamp `redis:"timestamp"`
}
func (r *RedisRepo) Write(data Data, key String) error {
conn := r.pool.Get()
defer conn.Close()
conn.Send("HSET", redis.Args{key}.AddFlat(data)...)
}
func (r *RedisRepo) Read(key string) (*Data, error) {
var data Data
conn := r.pool.Get()
defer conn.Close()
v, err := redis.Values(conn.Do("HGETALL", key))
return redis.ScanStruct(v, &data)
}
喵喵时光机
翻阅古今
随时随地看视频慕课网APP
相关分类