当前位置 : 主页 > 网络推广 > seo >

GO:如何使用redigo将结构保存并检索到redis

来源:互联网 收集:自由互联 发布时间:2021-06-16
我正在使用GO并尝试在redis中保存和检索struct的数组.我该如何实施呢? 我有以下结构 type Resource struct { title string} 并使用以下代码保存资源 _, err := redigo.Do("lpush", unique id, resource object);
我正在使用GO并尝试在redis中保存和检索struct的数组.我该如何实施呢?

我有以下结构

type Resource struct {
   title string
}

并使用以下代码保存资源

_, err := redigo.Do("lpush", <unique id>, <resource object>);

现在我如何从redis中检索结构对象数组.

由于您要来回传递代码,我建议使用@Not_a_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上存储内容,这在很大程度上取决于您的数据.

网友评论