哨兵的介绍和部署请参见:
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)