gitee.com/h79/goutils@v1.22.10/dao/redis/pool/cluster.go (about) 1 package pool 2 3 import ( 4 "context" 5 "github.com/go-redis/redis/v8" 6 ) 7 8 //ClusterNodes 获取 9 func (c *Client) ClusterNodes(ctx context.Context) (string, error) { 10 client, cErr := getClusterClient(c) 11 12 if cErr != nil { 13 return "", cErr 14 } 15 16 res, err := client.ClusterNodes(ctx).Result() 17 18 return res, err 19 } 20 21 //ClusterInfo 获取集群信息 22 func (c *Client) ClusterInfo(ctx context.Context) (string, error) { 23 client, cErr := getClusterClient(c) 24 25 if cErr != nil { 26 return "", cErr 27 } 28 29 res, err := client.ClusterInfo(ctx).Result() 30 31 return res, err 32 } 33 34 func (c *Client) Forget(ctx context.Context, nodeID string) (string, error) { 35 cl, cErr := getClusterClient(c) 36 if cErr != nil { 37 return "", cErr 38 } 39 err := cl.ForEachShard(ctx, func(ctx context.Context, client *redis.Client) error { 40 _, e := client.ClusterForget(ctx, nodeID).Result() 41 return e 42 }) 43 44 if err != nil { 45 return "", err 46 } 47 return "", err 48 }