GO:如何使用redigo将结构保存和检索到redis
我正在使用GO并尝试在redis中保存和检索结构数组。我如何着手实施它 我有以下结构GO:如何使用redigo将结构保存和检索到redis,go,Go,我正在使用GO并尝试在redis中保存和检索结构数组。我如何着手实施它 我有以下结构 type Resource struct { title string } 我正在使用以下代码保存资源 _, err := redigo.Do("lpush", <unique id>, <resource object>); \,err:=redigo.Do(“lpush”); 现在,我如何从redis检索结构对象数组。既然您要来回编写marsal代码,我建议使用@而不是G
type Resource struct {
title string
}
我正在使用以下代码保存资源
_, err := redigo.Do("lpush", <unique id>, <resource object>);
\,err:=redigo.Do(“lpush”);
现在,我如何从redis检索结构对象数组。既然您要来回编写marsal代码,我建议使用@而不是Golfer的解决方案 以下是您可以做的示例:
package main
import (
"encoding/json"
"fmt"
)
type Emotions struct {
Sad bool
Happy Happy
Confused int
}
type Happy struct {
Money int
Moral bool
Health bool
}
func main() {
emo := &Emotions{Sad: true}
// retain readability with json
serialized, err := json.Marshal(emo)
if err == nil {
fmt.Println("serialized data: ", string(serialized))
//serialized data: {"Sad":true,"Happy":{"Money":0,"Moral":false,"Health":false},"Confused":0}
//do redis transactions...
}
//retriving whatever value stored in your redis instance...
var deserialized Emotions
err = json.Unmarshal(serialized, &deserialized)
if err == nil {
fmt.Println("deserialized data: ", deserialized.Sad)
//deserialized data: true
}
}
现在,关于如何在redis上存储东西,这在很大程度上取决于您的数据。您可以使用
编码/gob
将其转换为/从[]字节
@rightføld true,但我会将其序列化为JSON对象,以使其更适合其他语言。