Class RedisClientConfig


  • public class RedisClientConfig
    extends Object
    • Field Detail

      • hosts

        @ConfigItem(defaultValueDocumentation="redis://localhost:6379",
                    name="hosts")
        public Optional<Set<URI>> hosts
        The redis hosts to use while connecting to the redis server. Only the cluster and sentinel modes will consider more than 1 element.

        The URI provided uses the following schema `redis://[username:password@][host][:port][/database]` Use `quarkus.redis.hosts-provider-name` to provide the hosts programmatically.

        See Also:
        Redis scheme on www.iana.org
      • hostsProviderName

        @ConfigItem
        public Optional<String> hostsProviderName
        The hosts provider bean name.

        It is the &#64;Named value of the hosts provider bean. It is used to discriminate if multiple `io.quarkus.redis.client.RedisHostsProvider` beans are available.

        Used when `quarkus.redis.hosts` is not set.

      • timeout

        @ConfigItem(defaultValue="10s")
        public Duration timeout
        The maximum delay to wait before a blocking command to redis server times out
      • clientType

        @ConfigItem(defaultValue="standalone")
        public io.vertx.redis.client.RedisClientType clientType
        The redis client type. Accepted values are: STANDALONE (default), CLUSTER, REPLICATION, SENTINEL.
      • masterName

        @ConfigItem(defaultValueDocumentation="my-master")
        public Optional<String> masterName
        The master name (only considered in HA mode).
      • role

        @ConfigItem(defaultValueDocumentation="master")
        public Optional<io.vertx.redis.client.RedisRole> role
        The role name (only considered in Sentinel / HA mode). Accepted values are: MASTER, REPLICA, SENTINEL.
      • replicas

        @ConfigItem(defaultValueDocumentation="never")
        public Optional<io.vertx.redis.client.RedisReplicas> replicas
        Whether to use replicas nodes (only considered in Cluster mode). Accepted values are: ALWAYS, NEVER, SHARE.
      • password

        @ConfigItem
        public Optional<String> password
        The default password for cluster/sentinel connections.

        If not set it will try to extract the value from the current default #hosts.

      • maxPoolSize

        @ConfigItem(defaultValue="6")
        public int maxPoolSize
        The maximum size of the connection pool. When working with cluster or sentinel.

        This value should be at least the total number of cluster member (or number of sentinels + 1)

      • maxPoolWaiting

        @ConfigItem(defaultValue="24")
        public int maxPoolWaiting
        The maximum waiting requests for a connection from the pool.
      • poolCleanerInterval

        @ConfigItem
        public Optional<Duration> poolCleanerInterval
        The duration indicating how often should the connection pool cleaner executes.
      • poolRecycleTimeout

        @ConfigItem(defaultValue="15")
        public Duration poolRecycleTimeout
        The timeout for a connection recycling.
      • maxWaitingHandlers

        @ConfigItem(defaultValue="2048")
        public int maxWaitingHandlers
        Sets how many handlers is the client willing to queue.

        The client will always work on pipeline mode, this means that messages can start queueing. Using this configuration option, you can control how much backlog you're willing to accept.

      • maxNestedArrays

        @ConfigItem(defaultValue="32")
        public int maxNestedArrays
        Tune how much nested arrays are allowed on a redis response. This affects the parser performance.
      • reconnectAttempts

        @ConfigItem(defaultValue="0")
        public int reconnectAttempts
        The number of reconnection attempts when a pooled connection cannot be established on first try.
      • reconnectInterval

        @ConfigItem(defaultValue="1")
        public Duration reconnectInterval
        The interval between reconnection attempts when a pooled connection cannot be established on first try.
      • protocolNegotiation

        @ConfigItem(defaultValue="true")
        public boolean protocolNegotiation
        Should the client perform {@code RESP protocol negotiation during the connection handshake.
      • tcp

        @ConfigItem
        @ConfigDocSection
        public NetConfig tcp
        TCP config.
      • tls

        @ConfigItem
        @ConfigDocSection
        public TlsConfig tls
        SSL/TLS config.
    • Constructor Detail

      • RedisClientConfig

        public RedisClientConfig()