Results 42 comments of Monkey

> @monkey92t we can and probably will eventually do something like https://github.com/golang/go/blob/master/src/database/sql/sql.go#L1808-L1816 , but it is not an easy refactoring. Perhaps for v9. We can improve #1824, example: ```go func...

According to your log report `closing bad conn: context deadline exceeded`, I checked the working process of go-redis in detail, it only appears in `initConn` and `withConn`, I believe this...

`go-redis ClusterClient` additionally caches the results of `cluster slots`, but it is executed asynchronously (except when each node is initialized), but if your redis-cluster nodes change frequently, it may greatly...

There seems to be no evidence of a DNS problem, in the logs you see "context deadline exceeded", we should determine where more time is being consumed causing the context...

This is because of the problem caused by https://github.com/redis/redis/pull/9271

```go client := redis.NewUniversalClient(&redis.UniversalOptions{ Addrs: ..., Dialer: func(ctx context.Context, network, addr string) (net.Conn, error) { .... }, }) ```

I added support for structure types in the `appendArgs` function, so that `MSet`, `MSetNX` functions can also benefit. I added the description of using the struct type in the API...

> It might seem your application failed to establish connection to kafka. It's just my guess. I believe that without the kafka-server being fully started, the client indeed cannot connect...

`client.Do` is a special API, its return value is not a fixed data type, if you want to set the return value of int64, please refer to the example: ```go...