go-redis简单调用(一)

package main

import (
	"encoding/json"
	"fmt"
	"github.com/go-redis/redis"
)

type  Name struct {
	Id int
	Age int
	Desc string
}


func main()  {
	name := Name{
		Id:   3,
		Age:  2,
		Desc: "aaa",
	}
	//创建redis client
	//这里是单点
	rdb := redis.NewClient(&redis.Options{
		Addr:               "IP:port",
		Password:           "",
		DB:                 0,
	})
	//如果是集群用NewClusterClient addr就不是一个了是一个[]string 需要写集群的所有
	pong,err := rdb.Ping().Result()
	if  err != nil {
		fmt.Println(err)
		return
	}
	//测试连接
	fmt.Println(pong)
	data,err  := json.Marshal(name)
	if err != nil {
		fmt.Println(err)
		return
	}
	//put 一个k v结构  v可以是interface
	err = rdb.Set("aaaaa",data,0).Err()
	if err != nil {
		fmt.Println(err)
		return
	}
	//获取值 获取到的v是一个json数据
	value ,err  := rdb.Get("aaaaa").Result()
	if err != nil {
		fmt.Println(err)
		return
	}

	name2 := Name{}
	//我们需要反序列化到结构体
	err = json.Unmarshal([]byte(value),&name2)
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Printf("%#v",name2)
}

你可能感兴趣的:(GO语言编程)