# MemoryPooledCache&lt;TSerializer&gt; Constructors

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memorypooledcache-1/)

## MemoryPooledCache&lt;TSerializer&gt;(IObjectPool&lt;FixedSizeBuffer&gt;, TimePurgePredicate, ILogger, TSerializer, ICacheMonitor, TimeSpan?, TimeSpan?) {#constructor-orleans-providers-streams-common-iobjectpool-orleans-providers-strea-4e70e182}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memorypooledcache-1/constructors/constructor-orleans-providers-streams-common-iobjectpool-orleans-providers-strea-4e70e182/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/MemoryStreams/MemoryPooledCache.cs#L36-L49)

```csharp
public MemoryPooledCache(IObjectPool<FixedSizeBuffer> bufferPool, TimePurgePredicate purgePredicate, ILogger logger, TSerializer serializer, ICacheMonitor cacheMonitor, TimeSpan? monitorWriteInterval, TimeSpan? purgeMetadataInterval)
```

Pooled cache for memory stream provider.

### Parameters

- `bufferPool` (`IObjectPool<FixedSizeBuffer>`): The buffer pool.
- `purgePredicate` (`TimePurgePredicate`): The purge predicate.
- `logger` (`ILogger`): The logger.
- `serializer` (`TSerializer`): The serializer.
- `cacheMonitor` (`ICacheMonitor`): The cache monitor.
- `monitorWriteInterval` (`TimeSpan?`): The monitor write interval.
- `purgeMetadataInterval` (`TimeSpan?`)
