// Package abstract ... // // Description : abstract ... // // Author : go_developer@163.com<白茶清欢> // // Date : 2024-06-18 15:09 package abstract import ( "context" "git.zhangdeman.cn/zhangdeman/redis/define" "github.com/redis/go-redis/v9" "go.uber.org/zap" ) // IRedisClient redis客户端定义 // // Author : go_developer@163.com<白茶清欢> // // Date : 15:09 2024/6/18 type IRedisClient interface { GetRealClient(instanceFlag string) *redis.ClusterClient // 获取客户端连接 GetRealClientWithError(instanceFlag string) (*redis.ClusterClient, error) // 获取带error的客户端连接 AddClient(instanceFlag string, instanceConfig *redis.ClusterOptions) error // 添加新的客户端连接 RemoveClient(instanceFlag string) // 移除一个客户端连接 SetLogger(loggerInstance *zap.Logger) // 设置日志实例, 全局生效, 而非针对某一个实例 Exec(ctx context.Context, instanceFlag string, command string, args ...any) *define.RedisResult // 执行任意命令 SetCommandWhiteList(command []string) // 设置命令的白名单,全局生效, 而非单独针对某一个实例 }