redis哨兵与go语言访问接口

哨兵的介绍和部署请参见:

https://blog.csdn.net/men_wen/article/details/72724406

go语言访问接口:

//建立连接
sf := &redis.FailoverOptions{
	// The master name.
	MasterName: "mymaster",
	// A seed list of host:port addresses of sentinel nodes.
	SentinelAddrs: []string{":26379", ":26380", ":26381"},

	// Following options are copied from Options struct.
	Password: "123456",
	DB:       0,
}
client := redis.NewFailoverClient(sf)
fmt.Println("client:", client)
err1 := client.Ping().Err()
fmt.Println("Ping:", err1)
//存字符串
err := client.Set("key1", "value1", 0).Err()
fmt.Println("client.Set:", err)

result, err := client.Get("key1").Result()
fmt.Println("result:", result, err)

//存结构体
tt := &testStruct{
	Var_int : 100,
	Var_string : "abc",
}

bTt, err := json.Marshal(tt)
fmt.Println("bTt:", err)
err = client.Set("struct1", bTt, 0).Err()
fmt.Println("struct1.Set:", err)

result, err = client.Get("struct1").Result()
fmt.Println("struct1.Get:", result, err)
var resTt testStruct
err = json.Unmarshal([]byte(result), &resTt)
fmt.Println("struct1:", resTt, err)

//HSet HGet
cmd1 := client.HSet("key", "field1", "value1")
fmt.Println("cmd1:", cmd1)

cmd2 := client.HGet("key", "field1")
data, err := cmd2.Result()
fmt.Println("result:", data, err)

猜你喜欢

转载自blog.csdn.net/busai2/article/details/81449422
今日推荐