升级增加client

This commit is contained in:
2024-06-19 21:21:34 +08:00
parent 7e866b3f1f
commit cec7fa76e5
2 changed files with 40 additions and 3 deletions

View File

@ -141,8 +141,44 @@ func (o *OwnClient) GetRealClientWithError(instanceFlag string) (*redisClient.Cl
return instance, nil
}
func (o *OwnClient) AddClient(instanceFlag string, instanceConfig *redisClient.ClusterOptions) error {
instance := redisClient.NewClusterClient(instanceConfig)
func (o *OwnClient) AddClient(instanceFlag string, instanceConfig *define.ClusterOptions) error {
instance := redisClient.NewClusterClient(&redisClient.ClusterOptions{
Addrs: instanceConfig.Addrs,
ClientName: instanceConfig.ClientName,
NewClient: nil,
MaxRedirects: instanceConfig.MaxRedirects,
ReadOnly: instanceConfig.ReadOnly,
RouteByLatency: instanceConfig.RouteByLatency,
RouteRandomly: instanceConfig.RouteRandomly,
ClusterSlots: nil,
Dialer: nil,
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,
})
o.lock.Lock()
defer o.lock.Unlock()
o.instanceTable[instanceFlag] = instance