Class RedisSentinelConnectOptions

java.lang.Object
io.vertx.redis.client.RedisConnectOptions
io.vertx.redis.client.RedisSentinelConnectOptions

public class RedisSentinelConnectOptions extends RedisConnectOptions
  • Constructor Details

    • RedisSentinelConnectOptions

      public RedisSentinelConnectOptions()
    • RedisSentinelConnectOptions

      public RedisSentinelConnectOptions(RedisOptions options)
    • RedisSentinelConnectOptions

      public RedisSentinelConnectOptions(RedisSentinelConnectOptions other)
    • RedisSentinelConnectOptions

      public RedisSentinelConnectOptions(JsonObject json)
  • Method Details

    • getRole

      public RedisRole getRole()
      Get the client role; that is, to which kind of node should the connection be established.
      Returns:
      the role
    • setRole

      public RedisSentinelConnectOptions setRole(RedisRole role)
      Set the client role; that is, to which kind of node should the connection be established.
      Parameters:
      role - the role
      Returns:
      fluent self
    • getMasterName

      public String getMasterName()
      Get the name of the master set.
      Returns:
      the master set name
    • setMasterName

      public RedisSentinelConnectOptions setMasterName(String masterName)
      Set the name of the master set.
      Parameters:
      masterName - the master set name
      Returns:
      fluent self
    • isAutoFailover

      public boolean isAutoFailover()
      Returns whether automatic failover is enabled. This only makes sense for sentinel clients with role of RedisRole.MASTER and is ignored otherwise.

      If enabled, the sentinel client will additionally create a connection to one sentinel node and watch for failover events. When new master is elected, all connections to the old master are automatically closed and new connections to the new master are created. Note that these new connections will not have the same event handlers (handler(), exceptionHandler() and endHandler()), will not be in the same streaming mode (pause(), resume() and fetch()), and will not watch the same subscriptions (SUBSCRIBE, PSUBSCRIBE, etc.) as the old ones. In other words, automatic failover makes sense for connections executing regular commands, but not for connections used to subscribe to Redis pub/sub channels.

      Note that there is a brief period of time between the old master failing and the new master being elected when the existing connections will temporarily fail all operations. After the new master is elected, the connections will automatically fail over and start working again.

      Returns:
      whether automatic failover is enabled
    • setAutoFailover

      public RedisSentinelConnectOptions setAutoFailover(boolean autoFailover)
      Sets whether automatic failover is enabled. This only makes sense for sentinel clients with role of RedisRole.MASTER and is ignored otherwise.

      If enabled, the sentinel client will additionally create a connection to one sentinel node and watch for failover events. When new master is elected, all connections to the old master are automatically closed and new connections to the new master are created. Note that these new connections will not have the same event handlers (handler(), exceptionHandler() and endHandler()), will not be in the same streaming mode (pause(), resume() and fetch()), and will not watch the same subscriptions (SUBSCRIBE, PSUBSCRIBE, etc.) as the old ones. In other words, automatic failover makes sense for connections executing regular commands, but not for connections used to subscribe to Redis pub/sub channels.

      Note that there is a brief period of time between the old master failing and the new master being elected when the existing connections will temporarily fail all operations. After the new master is elected, the connections will automatically fail over and start working again.

      Parameters:
      autoFailover - whether automatic failover should be enabled
      Returns:
      fluent self
    • getTopologyCacheTTL

      public long getTopologyCacheTTL()
      Returns the TTL of the topology cache. The TTL is expressed in milliseconds. Defaults to 1000 millis (1 second).
      Returns:
      the TTL of the topology cache
    • setTopologyCacheTTL

      public RedisSentinelConnectOptions setTopologyCacheTTL(long topologyCacheTTL)
      Sets the TTL of the topology cache. The TTL is expressed in milliseconds. Defaults to 1000 millis (1 second).
      Parameters:
      topologyCacheTTL - the TTL of the hash topology cache, in millis
    • setMaxNestedArrays

      public RedisSentinelConnectOptions setMaxNestedArrays(int maxNestedArrays)
      Description copied from class: RedisConnectOptions
      Tune how much nested arrays are allowed on a redis response. This affects the parser performance.
      Overrides:
      setMaxNestedArrays in class RedisConnectOptions
      Parameters:
      maxNestedArrays - the configured max nested arrays allowance.
      Returns:
      fluent self.
    • setProtocolNegotiation

      public RedisSentinelConnectOptions setProtocolNegotiation(boolean protocolNegotiation)
      Description copied from class: RedisConnectOptions
      Should the client perform REST protocol negotiation during the connection acquire. By default this is true, but there are situations when using broken servers it may be useful to skip this and always fallback to RESP2 without using the HELLO command.
      Overrides:
      setProtocolNegotiation in class RedisConnectOptions
      Parameters:
      protocolNegotiation - false to disable HELLO (not recommended) unless reasons...
      Returns:
      fluent self
    • setPreferredProtocolVersion

      public RedisSentinelConnectOptions setPreferredProtocolVersion(ProtocolVersion preferredProtocolVersion)
      Description copied from class: RedisConnectOptions
      Sets the preferred protocol version to be used during protocol negotiation. When not set, defaults to RESP 3. When protocol negotiation is disabled, this setting has no effect.
      Overrides:
      setPreferredProtocolVersion in class RedisConnectOptions
      Parameters:
      preferredProtocolVersion - preferred protocol version
      Returns:
      fluent self
    • setUser

      public RedisSentinelConnectOptions setUser(String user)
      Description copied from class: RedisConnectOptions
      Set the default username for Redis connections.
      Overrides:
      setUser in class RedisConnectOptions
      Parameters:
      user - the default username
      Returns:
      fluent self
    • setPassword

      public RedisSentinelConnectOptions setPassword(String password)
      Description copied from class: RedisConnectOptions
      Set the default password for Redis connections.
      Overrides:
      setPassword in class RedisConnectOptions
      Parameters:
      password - the default password
      Returns:
      fluent self
    • setEndpoints

      public RedisSentinelConnectOptions setEndpoints(List<String> endpoints)
      Description copied from class: RedisConnectOptions
      Set the endpoints to use while connecting to the redis server. Only the cluster mode will consider more than 1 element. If more are provided, they are not considered by the client when in single server mode.
      Overrides:
      setEndpoints in class RedisConnectOptions
      Parameters:
      endpoints - list of socket addresses.
      Returns:
      fluent self.
    • addConnectionString

      public RedisSentinelConnectOptions addConnectionString(String connectionString)
      Description copied from class: RedisConnectOptions
      Adds a connection string (endpoint) to use while connecting to the redis server. Only the cluster mode will consider more than 1 element. If more are provided, they are not considered by the client when in single server mode.
      Overrides:
      addConnectionString in class RedisConnectOptions
      Parameters:
      connectionString - a string URI following the scheme: redis://[username:password@][host][:port][/database]
      Returns:
      fluent self.
      See Also:
    • setConnectionString

      public RedisSentinelConnectOptions setConnectionString(String connectionString)
      Description copied from class: RedisConnectOptions
      Sets a single connection string (endpoint) to use while connecting to the redis server. Will replace the previously configured connection strings.
      Overrides:
      setConnectionString in class RedisConnectOptions
      Parameters:
      connectionString - a string following the scheme: redis://[username:password@][host][:port][/[database].
      Returns:
      fluent self.
      See Also:
    • setMaxWaitingHandlers

      public RedisSentinelConnectOptions setMaxWaitingHandlers(int maxWaitingHandlers)
      Description copied from class: RedisConnectOptions
      The client will always work on pipeline mode, this means that messages can start queueing. You can control how much backlog you're willing to accept. This methods sets how much handlers is the client willing to queue.
      Overrides:
      setMaxWaitingHandlers in class RedisConnectOptions
      Parameters:
      maxWaitingHandlers - max allowed queued waiting handlers.
      Returns:
      fluent self.
    • toJson

      public JsonObject toJson()
      Converts this object to JSON notation.
      Overrides:
      toJson in class RedisConnectOptions
      Returns:
      JSON