case class NodeConfig(poolSize: Int = 1, maxBlockingPoolSize: Int = 4096, maxBlockingIdleTime: Duration = 1.minute, blockingCleanupInterval: FiniteDuration = 1.second, initOp: RedisOp[Any] = RedisOp.unit, initTimeout: Timeout = Timeout(10.seconds), connectionConfigs: (Int) ⇒ ConnectionConfig = _ => ConnectionConfig(), blockingConnectionConfigs: (Int) ⇒ ConnectionConfig = _ => ConnectionConfig()) extends Product with Serializable
Configuration of a RedisNodeClient, used either as a standalone client or internally by RedisClusterClient.
- poolSize
Number of connections used by node client. Commands are distributed between connections using a round-robin scenario. Number of connections in the pool is constant and cannot be changed. Due to single-threaded nature of Redis, the number of concurrent connections should be kept low for best performance. The only situation where the number of connections should be increased is when using
WATCH
-MULTI
-EXEC
transactions with optimistic locking.- maxBlockingPoolSize
Maximum number of connections used by node client in order to handle blocking Redis commands, e.g.
BLPOP
. Blocking commands may not be pipelined with other, independent commands because these other commands may be delayed by the blocking command. Therefore they require their own, dynamically resizable connection pool. Maximum size of that pool is the limit of possible concurrent blocking commands that can be executed at the same time.- maxBlockingIdleTime
Maximum amount of time a blocking connection may be idle before being closed and removed from the pool.
- blockingCleanupInterval
Time interval between periodic blocking connection cleanup events, with respect to maxBlockingIdleTime.
- initOp
A RedisOp executed by this client upon initialization. This may be useful for things like script loading, especially when using cluster client which may create and close node clients dynamically as reactions on cluster state changes.
- initTimeout
Timeout used by initialization operation (
initOp
)- connectionConfigs
A function that returns ConnectionConfig for a connection given its id. Connection ID is its index in the connection pool, i.e. an int ranging from 0 to
poolSize
-1.- blockingConnectionConfigs
Same as connectionConfigs but for connections used for handling blocking commands.
- Alphabetic
- By Inheritance
- NodeConfig
- Serializable
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
NodeConfig(poolSize: Int = 1, maxBlockingPoolSize: Int = 4096, maxBlockingIdleTime: Duration = 1.minute, blockingCleanupInterval: FiniteDuration = 1.second, initOp: RedisOp[Any] = RedisOp.unit, initTimeout: Timeout = Timeout(10.seconds), connectionConfigs: (Int) ⇒ ConnectionConfig = _ => ConnectionConfig(), blockingConnectionConfigs: (Int) ⇒ ConnectionConfig = _ => ConnectionConfig())
- poolSize
Number of connections used by node client. Commands are distributed between connections using a round-robin scenario. Number of connections in the pool is constant and cannot be changed. Due to single-threaded nature of Redis, the number of concurrent connections should be kept low for best performance. The only situation where the number of connections should be increased is when using
WATCH
-MULTI
-EXEC
transactions with optimistic locking.- maxBlockingPoolSize
Maximum number of connections used by node client in order to handle blocking Redis commands, e.g.
BLPOP
. Blocking commands may not be pipelined with other, independent commands because these other commands may be delayed by the blocking command. Therefore they require their own, dynamically resizable connection pool. Maximum size of that pool is the limit of possible concurrent blocking commands that can be executed at the same time.- maxBlockingIdleTime
Maximum amount of time a blocking connection may be idle before being closed and removed from the pool.
- blockingCleanupInterval
Time interval between periodic blocking connection cleanup events, with respect to maxBlockingIdleTime.
- initOp
A RedisOp executed by this client upon initialization. This may be useful for things like script loading, especially when using cluster client which may create and close node clients dynamically as reactions on cluster state changes.
- initTimeout
Timeout used by initialization operation (
initOp
)- connectionConfigs
A function that returns ConnectionConfig for a connection given its id. Connection ID is its index in the connection pool, i.e. an int ranging from 0 to
poolSize
-1.- blockingConnectionConfigs
Same as connectionConfigs but for connections used for handling blocking commands.