# Non-durable persistence > [!NOTE] > From v8, the `InMemoryPersistence` has been renamed and moved to a dedicated package called the `NonDurablePersistence` Some scenarios require a non-durable persistence such as the development environment, testing, high-throughput scenarios where speed outweighs the benefits of durability, or a lightweight client not interested in durability across restarts: ## Persistence at a glance For a description of each feature, see the [persistence at a glance legend](/persistence/index.md#persistence-at-a-glance). |Feature | | |:--- |--- |Storage Types |Sagas, Outbox, Subscriptions |Transactions |Synchronized storage session |Concurrency control |Optimistic concurrency |Scripted deployment |Does not apply |Installers |Does not apply ## Configuration Configure the endpoint to use non-durable persistence: ```cs endpointConfiguration.UsePersistence(); endpointConfiguration.UsePersistence(); endpointConfiguration.UsePersistence(); endpointConfiguration.UsePersistence(); ``` > [!NOTE] > The [delayed retries](/nservicebus/recoverability/index.md#delayed-retries) mechanism uses the [timeout manager](/nservicebus/messaging/timeout-manager.md) when a transport does not natively support delayed delivery. As delayed retries are enabled by default, using this persistence with a transport that uses the timeout manager has the risk of losing messages that have failed processing and are waiting for another retry attempt. Use this persistence only in scenarios where it is acceptable to lose messages. ## Gateway deduplication > [!NOTE] > It is advised to use the [in-memory persister that is part of the gateway package](/persistence/non-durable/gateway-deduplication.md). The in-memory gateway deduplication persistence uses an LRU cache. By default this cache can contain up to 10,000 items. The maximum size can be changed using the following API. ```cs var persistence = endpointConfiguration.UsePersistence(); persistence.GatewayDeduplicationCacheSize(50000); ``` ## Saga concurrency When simultaneously handling messages, conflicts may occur. See below for examples of the exceptions which are thrown. _[Saga concurrency](/nservicebus/sagas/concurrency.md)_ explains how these conflicts are handled, and contains guidance for high-load scenarios. By default, non-durable persistence uses [optimistic concurrency control](https://en.wikipedia.org/wiki/Optimistic_concurrency_control) when updating or deleting saga data. If a conflict is detected a `InvalidOperationException` will be thrown describing the conflict.