Class RedisSentinelConnectOptions

    • Constructor Detail

      • RedisSentinelConnectOptions

        public RedisSentinelConnectOptions()
      • RedisSentinelConnectOptions

        public RedisSentinelConnectOptions​(RedisOptions options)
      • RedisSentinelConnectOptions

        public RedisSentinelConnectOptions​(JsonObject json)
    • Method Detail

      • 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)
        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.

        Parameters:
        autoFailover - whether automatic failover should be enabled
        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
      • 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:
        Redis scheme on iana.org
      • 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.