#### [Abblix\.SharedSignals\.Redis](https://www.abblix.com/en/docs/api/abblix-sharedsignals-redis 'index')
### [Abblix\.SharedSignals\.Redis](https://www.abblix.com/en/docs/api/abblix-sharedsignals-redis/Abblix.SharedSignals.Redis 'Abblix\.SharedSignals\.Redis')

## RedisOutboxOptions Class

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

```csharp
public sealed record RedisOutboxOptions : System.IEquatable<Abblix.SharedSignals.Redis.RedisOutboxOptions>
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → RedisOutboxOptions

Implements [System\.IEquatable&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')[RedisOutboxOptions](https://www.abblix.com/en/docs/api/abblix-sharedsignals-redis/Abblix.SharedSignals.Redis.RedisOutboxOptions 'Abblix\.SharedSignals\.Redis\.RedisOutboxOptions')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.iequatable-1 'System\.IEquatable\`1')
### Properties

## RedisOutboxOptions\.Retention Property {#Abblix.SharedSignals.Redis.RedisOutboxOptions.Retention}

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

```csharp
public System.TimeSpan Retention { get; init; }
```

#### Property Value
[System\.TimeSpan](https://learn.microsoft.com/en-us/dotnet/api/system.timespan '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\.
