Skip to content

Commit

Permalink
Merge pull request #418 from redis/multiple-tcp-for-cluster-node
Browse files Browse the repository at this point in the history
feat: let clusterclient respect the option.PipelineMultiplex
  • Loading branch information
rueian authored Dec 10, 2023
2 parents 3851dec + 5ca6ad6 commit 9dea63a
Showing 1 changed file with 3 additions and 6 deletions.
9 changes: 3 additions & 6 deletions rueidis.go
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ type ClientOption struct {

// PipelineMultiplex determines how many tcp connections used to pipeline commands to one redis instance.
// The default for single and sentinel clients is 2, which means 4 connections (2^2).
// For cluster client, PipelineMultiplex doesn't have any effect.
// The default for cluster clients is 0, which means 1 connection (2^0).
PipelineMultiplex int

// ConnWriteTimeout is applied net.Conn.SetWriteDeadline and periodic PING to redis
Expand Down Expand Up @@ -317,19 +317,16 @@ func NewClient(option ClientOption) (client Client, err error) {
option.PipelineMultiplex = singleClientMultiplex(option.PipelineMultiplex)
return newSentinelClient(&option, makeConn)
}
pmbk := option.PipelineMultiplex
option.PipelineMultiplex = 0 // PipelineMultiplex is meaningless for cluster client

if option.ForceSingleClient {
option.PipelineMultiplex = singleClientMultiplex(pmbk)
option.PipelineMultiplex = singleClientMultiplex(option.PipelineMultiplex)
return newSingleClient(&option, nil, makeConn)
}
if client, err = newClusterClient(&option, makeConn); err != nil {
if client == (*clusterClient)(nil) {
return nil, err
}
if len(option.InitAddress) == 1 && (err.Error() == redisErrMsgCommandNotAllow || strings.Contains(strings.ToUpper(err.Error()), "CLUSTER")) {
option.PipelineMultiplex = singleClientMultiplex(pmbk)
option.PipelineMultiplex = singleClientMultiplex(option.PipelineMultiplex)
client, err = newSingleClient(&option, client.(*clusterClient).single(), makeConn)
} else {
client.Close()
Expand Down

0 comments on commit 9dea63a

Please sign in to comment.