redis/abstract/IRedisClient.go

32 lines
1.4 KiB
Go
Raw Normal View History

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