首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GO:如何使用redigo将结构保存和检索到redis

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

Stack Overflow用户
提问于 2014-12-14 18:37:49
回答 1查看 12.4K关注 0票数 10

我正在使用GO并尝试在redis中保存和检索struct数组。我该如何着手实现它呢?

我有以下结构

代码语言:javascript
复制
type Resource struct {
   title string
}

并使用以下代码节省资源

代码语言:javascript
复制
_, err := redigo.Do("lpush", <unique id>, <resource object>);

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-14 21:15:35

既然你要在marsal代码之间来回奔波,我建议使用@Not_a_Golfer's解决方案。

以下是您可以执行的操作的示例:

代码语言:javascript
复制
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上存储东西,这在很大程度上取决于你的数据。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27468458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档