golang 将结构体存入redis

Posted IGuoSJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang 将结构体存入redis相关的知识,希望对你有一定的参考价值。

package main

import (
	"encoding/json"
	"fmt"
	"time"

	"github.com/go-redis/redis"
)

type guo struct 
	Name string `json:"name"`
	Age  int    `json:"age"`


func (g *guo) MarshalBinary() (data []byte, err error) 
	return json.Marshal(g)


func (g *guo) UnmarshalBinary(data []byte) (err error) 
	return json.Unmarshal(data, g)


func initClient() *redis.Client 
	return redis.NewClient(&redis.Options
		Addr:         "127.0.0.1:6379",
		DB:           2,
		MinIdleConns: 5,
		DialTimeout:  5 * time.Second,
		WriteTimeout: 5 * time.Second,
		PoolTimeout:  5 * time.Second,
		MaxConnAge:   0,
	)


func main() 
	rd := initClient()
	my := &guo
		Name: "shuaijie",
		Age:  30,
	
	if err := rd.Set("my", my, 0).Err(); err != nil 
		panic(err)
	
	out := &guo
	if err := rd.Get("my").Scan(out); err != nil 
		panic(err)
	
	fmt.Println(out)


以上是关于golang 将结构体存入redis的主要内容,如果未能解决你的问题,请参考以下文章

golang 将结构体存入redis

Redis 存储结构体信息,选 hash 还是string?

如何将数据存入到一个结构体中

golang结构体组合与“多态” 2021-08-06

golang(07)结构体介绍

Golang 指针和结构体