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  }