RedisStreamRetentionProperties

@ConfigurationProperties(prefix = "wow.redis.message-bus.retention")
class RedisStreamRetentionProperties(var maxLength: Long? = null, var maxAge: Duration? = null, var approximate: Boolean = true, var reapIdleConsumers: Boolean = true, var consumerIdleTimeout: Duration = RedisStreamRetentionOptions.DEFAULT_CONSUMER_IDLE_TIMEOUT)

What the Redis stream bus keeps (RedisStreamRetentionOptions). Trimming is off unless maxLength or maxAge is set; idle consumers with nothing pending are deleted unless reapIdleConsumers is false.

Constructors

Link copied to clipboard
constructor(maxLength: Long? = null, maxAge: Duration? = null, approximate: Boolean = true, reapIdleConsumers: Boolean = true, consumerIdleTimeout: Duration = RedisStreamRetentionOptions.DEFAULT_CONSUMER_IDLE_TIMEOUT)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Trim whole macro nodes (~), which is much cheaper than exact trimming.

Link copied to clipboard

How long a consumer must be idle before reapIdleConsumers deletes it.

Link copied to clipboard

Trim entries older than this on every send (MINID ~, from the sender's clock): at least one minute, and far larger than the clock skew between nodes. Trimming needs Redis 7.0 or later.

Link copied to clipboard

Trim each stream to about this many entries on every send (MAXLEN ~).

Link copied to clipboard

Delete, when a receiver starts, the consumers of its group that have been idle for consumerIdleTimeout and have no pending entries; the check and the delete run atomically in one script, so no message is lost.

Functions

Link copied to clipboard