32 lines
1.4 KiB
Go
32 lines
1.4 KiB
Go
// 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/go-redis/redis/v8"
|
|
"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 *define.ClusterOptions) error // 添加新的客户端连接
|
|
RemoveClient(instanceFlag string) // 移除一个客户端连接
|
|
SetLogger(loggerInstance *zap.Logger) // 设置日志实例, 全局生效, 而非针对某一个实例
|
|
Exec(ctx context.Context, instanceFlag string, command string, args ...any) *define.RedisResult // 执行任意命令
|
|
SetCommandWhiteList(command []string) // 设置命令的白名单,全局生效, 而非单独针对某一个实例
|
|
}
|