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)
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章