Redis Sentinel 的 Golang 客户端

提示

要了解如何使用 go-redis 客户端,请参阅 入门 指南。

Redis 服务器客户端

要连接到由 Redis Sentinel在新窗口中打开 管理的 Redis 服务器

import "github.com/redis/go-redis/v9"

rdb := redis.NewFailoverClient(&redis.FailoverOptions{
    MasterName:    "master-name",
    SentinelAddrs: []string{":9126", ":9127", ":9128"},
})

从 v8 版本开始,您可以使用实验性的 NewFailoverClusterClient 将只读命令路由到从节点

import "github.com/redis/go-redis/v9"

rdb := redis.NewFailoverClusterClient(&redis.FailoverOptions{
    MasterName:    "master-name",
    SentinelAddrs: []string{":9126", ":9127", ":9128"},

    // To route commands by latency or randomly, enable one of the following.
    //RouteByLatency: true,
    //RouteRandomly: true,
})

Redis Sentinel 客户端

要连接到 Redis Sentinel 本身

import "github.com/redis/go-redis/v9"

sentinel := redis.NewSentinelClient(&redis.Options{
    Addr: ":9126",
})

addr, err := sentinel.GetMasterAddrByName(ctx, "master-name").Result()