Skip to content

RedisOutboxOptions Class

What the Redis outbox is allowed to keep, and for how long.

C#
public sealed record RedisOutboxOptions : System.IEquatable<Abblix.SharedSignals.Redis.RedisOutboxOptions>

Inheritance System.Object → RedisOutboxOptions

Implements System.IEquatable<RedisOutboxOptions>

Properties

RedisOutboxOptions.Retention Property

How long a stream's queue survives without a new event before Redis reclaims it.

C#
public System.TimeSpan Retention { get; init; }

Property Value

System.TimeSpan

Remarks

The expiry is refreshed on every enqueue, so it measures INACTIVITY rather than age: a stream receiving events never expires, and only a queue nobody has added to - a receiver long gone, or a stream deleted while a concurrent dispatch was still writing to it - is reclaimed. Without a bound those queues accumulate forever, which contradicts the tier this store was chosen for: a cache that never evicts is not a cache, it is a leak.

The default is a starting point rather than a considered number for any particular deployment - long enough to outlast a receiver outage worth retrying, short enough that an abandoned queue does not outlive interest in it. Set it from the deployment's own retention decision.