Interface RedisClientConfig


public interface RedisClientConfig
  • Method Details

    • hosts

      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:
    • hostsProviderName

      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

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

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

      @ConfigDocDefault("mymaster") Optional<String> masterName()
      The master name (only considered in HA mode).
    • role

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

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

      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

      @WithDefault("6") 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

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

      Optional<Duration> poolCleanerInterval()
      The duration indicating how often should the connection pool cleaner executes.
    • poolRecycleTimeout

      @WithDefault("15") Duration poolRecycleTimeout()
      The timeout for a connection recycling.
    • maxWaitingHandlers

      @WithDefault("2048") 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

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

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

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

      @WithDefault("true") boolean protocolNegotiation()
      Should the client perform RESP protocol negotiation during the connection handshake.
    • preferredProtocolVersion

      @ConfigDocDefault("resp3") Optional<io.vertx.redis.client.ProtocolVersion> preferredProtocolVersion()
      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.
    • hashSlotCacheTtl

      @WithDefault("1s") Duration hashSlotCacheTtl()
      The TTL of the hash slot cache. A hash slot cache is used by the clustered Redis client to prevent constantly sending CLUSTER SLOTS commands to the first statically configured cluster node.

      This setting is only meaningful in case of a clustered Redis client and has no effect otherwise.

    • tcp

      @ConfigDocSection NetConfig tcp()
      TCP config.
    • tls

      @ConfigDocSection TlsConfig tls()
      SSL/TLS config.
    • toDebugString

      default String toDebugString()