feat: redis 支持超时
This commit is contained in:
@@ -258,17 +258,17 @@ func (o *OwnClient) newClient(instanceConfig *define.Options) *redisClient.Clien
|
|||||||
Password: instanceConfig.Password,
|
Password: instanceConfig.Password,
|
||||||
// CredentialsProvider: nil,
|
// CredentialsProvider: nil,
|
||||||
// CredentialsProviderContext: nil,
|
// CredentialsProviderContext: nil,
|
||||||
MaxRetries: instanceConfig.MaxRetries,
|
MaxRetries: instanceConfig.MaxRetries,
|
||||||
MinRetryBackoff: time.Duration(instanceConfig.MinRetryBackoff) * time.Millisecond,
|
MinRetryBackoff: time.Duration(instanceConfig.MinRetryBackoff) * time.Millisecond,
|
||||||
MaxRetryBackoff: time.Duration(instanceConfig.MaxRetryBackoff) * time.Millisecond,
|
MaxRetryBackoff: time.Duration(instanceConfig.MaxRetryBackoff) * time.Millisecond,
|
||||||
DialTimeout: time.Duration(instanceConfig.DialTimeout) * time.Millisecond,
|
DialTimeout: time.Duration(instanceConfig.DialTimeout) * time.Millisecond,
|
||||||
ReadTimeout: time.Duration(instanceConfig.ReadTimeout) * time.Millisecond,
|
ReadTimeout: time.Duration(instanceConfig.ReadTimeout) * time.Millisecond,
|
||||||
WriteTimeout: time.Duration(instanceConfig.WriteTimeout) * time.Millisecond,
|
WriteTimeout: time.Duration(instanceConfig.WriteTimeout) * time.Millisecond,
|
||||||
// ContextTimeoutEnabled: instanceConfig.ContextTimeoutEnabled,
|
ContextTimeoutEnabled: instanceConfig.ContextTimeoutEnabled,
|
||||||
PoolFIFO: instanceConfig.PoolFIFO,
|
PoolFIFO: instanceConfig.PoolFIFO,
|
||||||
PoolSize: instanceConfig.PoolSize,
|
PoolSize: instanceConfig.PoolSize,
|
||||||
PoolTimeout: time.Duration(instanceConfig.PoolTimeout) * time.Millisecond,
|
PoolTimeout: time.Duration(instanceConfig.PoolTimeout) * time.Millisecond,
|
||||||
MinIdleConns: instanceConfig.MinIdleConn,
|
MinIdleConns: instanceConfig.MinIdleConn,
|
||||||
// MaxIdleConns: instanceConfig.MaxIdleConn,
|
// MaxIdleConns: instanceConfig.MaxIdleConn,
|
||||||
// MaxActiveConns: instanceConfig.MaxActiveConn,
|
// MaxActiveConns: instanceConfig.MaxActiveConn,
|
||||||
// ConnMaxIdleTime: time.Duration(instanceConfig.ConnMaxIdleTime) * time.Second,
|
// ConnMaxIdleTime: time.Duration(instanceConfig.ConnMaxIdleTime) * time.Second,
|
||||||
|
|||||||
@@ -32,3 +32,18 @@ func TestAddClientKeepsMasterAndSlaveSeparate(t *testing.T) {
|
|||||||
_ = info.MasterClient().Close()
|
_ = info.MasterClient().Close()
|
||||||
_ = info.SlaveClient().Close()
|
_ = info.SlaveClient().Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestNewClientPassesContextTimeoutEnabled(t *testing.T) {
|
||||||
|
client := &OwnClient{}
|
||||||
|
redisClient := client.newClient(&define.Options{
|
||||||
|
Addr: "127.0.0.1:6379",
|
||||||
|
ContextTimeoutEnabled: true,
|
||||||
|
})
|
||||||
|
t.Cleanup(func() {
|
||||||
|
_ = redisClient.Close()
|
||||||
|
})
|
||||||
|
|
||||||
|
if !redisClient.Options().ContextTimeoutEnabled {
|
||||||
|
t.Fatal("context timeout option was not passed to go-redis")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user