---
title: Caching
slug: commerce-connect-15/docs/caching
docTags: 
createdAt: 2026-07-30T20:34:40.000Z
---

Platform cache functionality, including remote sync, is part of the Optimizely platform.

Classes in this topic are in the `Mediachase.Commerce.Catalog` namespace.

## Cache subsystems

Configure caching options for each subsystem, such as catalogs and orders, using either `AppSettings.json` or the `ConfigureServices` method of the `Startup` class.

The following example shows `Cache` settings for the Catalogs subsystem, using `AppSettings.json`:

```csharp
"EPiServer": {
       "Commerce": {
          "CatalogOptions": {
            "Cache": {
              "UseCache": true,
              "ContentVersionCacheExpiration": "00:05:00",
              "CollectionCacheExpiration": "00:05:00",
              "EntryCacheExpiration": "00:05:00",
              "NodeCacheExpiration": "00:05:00"
            }
          }
       }
    }
```

The following example shows `Cache` settings for the Catalogs subsystem, using `Startup`:

```csharp
public void ConfigureServices(IServiceCollection services)
    {
        services.Configure<CatalogOptions>(o =>
        {
            o.Cache.UseCache = true;
            o.Cache.ContentVersionCacheExpiration = TimeSpan.FromMinutes(05);
            o.Cache.CollectionCacheExpiration = TimeSpan.FromMinutes(05);
            o.Cache.EntryCacheExpiration = TimeSpan.FromMinutes(05);
            o.Cache.NodeCacheExpiration = TimeSpan.FromMinutes(05);
        });
    }
```

The `CollectionCacheExpiration` responds to an entry array, and "entry" responds to a single entry. What is actually cached is the `CatalogEntryDto` and, because the Entry object is created from the Data Transfer Object (DTO), you cache the DTO. In some cases, you can also cache the entry objects themselves rather than the DTO.

## Cache invalidation

In the Catalogs subsystem example, the cache is invalidated if it reaches the cache timeout specified previously (00:05:00) for the request type, or if an object is updated. You can also invalidate cache for the entire catalog by calling `CatalogCache.Clear()`.

## Related topics

- [Explore caching methods in Optimizely CMS 13](docId\:aD4xHC48jkXYlX2AgYUaQ)
- [Configure CMS 13](docId\:yAPuoFfNoI_wNmPrtNfe4)
