save code

This commit is contained in:
2024-06-19 22:08:12 +08:00
parent 20b30f92a7
commit 4a8a262d0f
3 changed files with 234 additions and 26 deletions

View File

@ -18,10 +18,15 @@ import (
wrapperOperate "git.zhangdeman.cn/zhangdeman/wrapper"
redisClient "github.com/go-redis/redis/v8"
"github.com/pkg/errors"
redisClientV9 "github.com/redis/go-redis/v9"
"go.uber.org/zap"
)
var Client abstract.IRedisClient
var (
Client abstract.IRedisClient
ClientV9 abstract.IRedisClient
ClientVersion = define.ClientVersionV8
)
func init() {
Client = &OwnClient{
@ -29,6 +34,11 @@ func init() {
instanceTable: make(map[string]*redisClient.ClusterClient),
whiteCommandTable: make(map[string]bool),
}
ClientV9 = &OwnClientV9{
lock: &sync.RWMutex{},
instanceTable: make(map[string]*redisClientV9.ClusterClient),
whiteCommandTable: make(map[string]bool),
}
}
type OwnClient struct {
@ -143,8 +153,8 @@ func (o *OwnClient) GetRealClientWithError(instanceFlag string) (*redisClient.Cl
func (o *OwnClient) AddClient(instanceFlag string, instanceConfig *define.ClusterOptions) error {
instance := redisClient.NewClusterClient(&redisClient.ClusterOptions{
Addrs: instanceConfig.Addrs,
ClientName: instanceConfig.ClientName,
Addrs: instanceConfig.Addrs,
// ClientName: instanceConfig.ClientName,
NewClient: nil,
MaxRedirects: instanceConfig.MaxRedirects,
ReadOnly: instanceConfig.ReadOnly,
@ -155,29 +165,29 @@ func (o *OwnClient) AddClient(instanceFlag string, instanceConfig *define.Cluste
OnConnect: func(ctx context.Context, cn *redisClient.Conn) error {
return nil
},
Protocol: 0,
Username: instanceConfig.Username,
Password: instanceConfig.Password,
CredentialsProvider: nil,
CredentialsProviderContext: nil,
MaxRetries: instanceConfig.MaxRetries,
MinRetryBackoff: time.Duration(instanceConfig.MinRetryBackoff) * time.Millisecond,
MaxRetryBackoff: time.Duration(instanceConfig.MaxRetryBackoff) * time.Millisecond,
DialTimeout: time.Duration(instanceConfig.DialTimeout) * time.Millisecond,
ReadTimeout: time.Duration(instanceConfig.ReadTimeout) * time.Millisecond,
WriteTimeout: time.Duration(instanceConfig.WriteTimeout) * time.Millisecond,
ContextTimeoutEnabled: instanceConfig.ContextTimeoutEnabled,
PoolFIFO: instanceConfig.PoolFIFO,
PoolSize: instanceConfig.PoolSize,
PoolTimeout: time.Duration(instanceConfig.PoolTimeout) * time.Millisecond,
MinIdleConns: instanceConfig.MinIdleConn,
MaxIdleConns: instanceConfig.MaxIdleConn,
MaxActiveConns: instanceConfig.MaxActiveConn,
ConnMaxIdleTime: time.Duration(instanceConfig.ConnMaxIdleTime) * time.Second,
ConnMaxLifetime: time.Duration(instanceConfig.ConnMaxIdleTime) * time.Second,
TLSConfig: nil,
DisableIndentity: instanceConfig.DisableIdentity,
IdentitySuffix: instanceConfig.IdentitySuffix,
// Protocol: 0,
Username: instanceConfig.Username,
Password: instanceConfig.Password,
// CredentialsProvider: nil,
// CredentialsProviderContext: nil,
MaxRetries: instanceConfig.MaxRetries,
MinRetryBackoff: time.Duration(instanceConfig.MinRetryBackoff) * time.Millisecond,
MaxRetryBackoff: time.Duration(instanceConfig.MaxRetryBackoff) * time.Millisecond,
DialTimeout: time.Duration(instanceConfig.DialTimeout) * time.Millisecond,
ReadTimeout: time.Duration(instanceConfig.ReadTimeout) * time.Millisecond,
WriteTimeout: time.Duration(instanceConfig.WriteTimeout) * time.Millisecond,
// ContextTimeoutEnabled: instanceConfig.ContextTimeoutEnabled,
PoolFIFO: instanceConfig.PoolFIFO,
PoolSize: instanceConfig.PoolSize,
PoolTimeout: time.Duration(instanceConfig.PoolTimeout) * time.Millisecond,
MinIdleConns: instanceConfig.MinIdleConn,
// MaxIdleConns: instanceConfig.MaxIdleConn,
// MaxActiveConns: instanceConfig.MaxActiveConn,
// ConnMaxIdleTime: time.Duration(instanceConfig.ConnMaxIdleTime) * time.Second,
// ConnMaxLifetime: time.Duration(instanceConfig.ConnMaxIdleTime) * time.Second,
TLSConfig: nil,
// DisableIndentity: instanceConfig.DisableIdentity,
// IdentitySuffix: instanceConfig.IdentitySuffix,
})
o.lock.Lock()
defer o.lock.Unlock()