code: func CreateClusterClient(config ClusterConfig) (Client, error) {
  	return goredis.NewClusterClient(&goredis.ClusterOptions{
  		Addrs: config.Endpoints,
  
  		// Enables read only queries on slave nodes.
  		ReadOnly: config.EnableReadQueryOnSlave,
  
  		MaxRedirects:   config.MaxRedirects,
  		RouteByLatency: config.RouteByLatency,
  
  		// Optional password. Must match the password specified in the requirepass server configuration option.
  		Password: config.Password,
  
  		// Dial timeout for establishing new connections. Default is 5 seconds.
  		DialTimeout: config.DialTimeout,
  		// Timeout for socket reads. If reached, commands will fail with a timeout instead of blocking. Default is 3 seconds.
  		ReadTimeout: config.ReadTimeout,
  		// Timeout for socket writes. If reached, commands will fail with a timeout instead of blocking. Default is ReadTimeout.
  		WriteTimeout: config.WriteTimeout,
  
  		// Maximum number of socket connections. Default is 10 connections per every CPU as reported by runtime.NumCPU.
  		PoolSize: config.Pool.PoolSize,
  		// Amount of time a client waits for connection if all connections are busy before returning an error. Default is ReadTimeout + 1 second.
  		PoolTimeout: config.Pool.PoolTimeout,
  		// Amount of time after which a client closes idle connections. Should be less than server's timeout. Default is 5 minutes.
  		IdleTimeout: config.Pool.IdleTimeout,
  		// Frequency of idle checks. Default is 1 minute. When negative value is set, then idle check is disabled.
  		IdleCheckFrequency: config.Pool.IdleCheckFrequency,
  
  		// Maximum number of retries before giving up. Default is to not retry failed commands.
  		MaxRetries: 0,
  		// Minimum backoff between each retry. Default is 8 milliseconds; -1 disables backoff.
  		MinRetryBackoff: 0,
  		// Maximum backoff between each retry. Default is 512 milliseconds; -1 disables backoff.
  		MaxRetryBackoff: 0,
  
  		// Hook that is called when new connection is established
  		// OnConnect func(*Conn) error
  	}), nil
  }
docs: // CreateClusterClient Creates a client that will connect to a redis cluster.