From b64dd043a9a1346cc202b1c4226bd11b8775b732 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E8=8C=B6=E6=B8=85=E6=AC=A2?= Date: Mon, 31 Aug 2026 11:41:11 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20redis=20=E6=94=AF=E6=8C=81=E8=B6=85?= =?UTF-8?q?=E6=97=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client.go | 22 +++++++++++----------- client_test.go | 15 +++++++++++++++ 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/client.go b/client.go index 1f659bb..706604d 100644 --- a/client.go +++ b/client.go @@ -258,17 +258,17 @@ func (o *OwnClient) newClient(instanceConfig *define.Options) *redisClient.Clien 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, + 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, diff --git a/client_test.go b/client_test.go index ad75bf6..c7f7325 100644 --- a/client_test.go +++ b/client_test.go @@ -32,3 +32,18 @@ func TestAddClientKeepsMasterAndSlaveSeparate(t *testing.T) { _ = info.MasterClient().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") + } +}