Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions aspnetcore/performance/caching/hybrid.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@ When an entry is removed, it is removed from both the primary and secondary cach

## Remove cache entries by tag

> [!IMPORTANT]
> This feature is still under development. If you try to remove entries by tag, you will notice that it won't cause any effect yet.

Tags can be used to group cache entries and invalidate them together.

Set tags when calling `GetOrCreateAsync`, as shown in the following example:
Expand Down Expand Up @@ -145,6 +148,8 @@ For more information, see the [HybridCache serialization sample app](https://git

By default `HybridCache` uses <xref:System.Runtime.Caching.MemoryCache> for its primary cache storage. Cache entries are stored in-process, so each server has a separate cache that is lost whenever the server process is restarted. For secondary out-of-process storage, such as Redis or SQL Server, `HybridCache` uses [the configured `IDistributedCache` implementation](xref:performance/caching/distributed), if any. But even without an `IDistributedCache`implementation, the `HybridCache` service still provides in-process caching and [stampede protection](https://en.wikipedia.org/wiki/Cache_stampede).

**Note:** When invalidating the cache by key or by tags, it will be invalidated in the current node and in the secondary out-of-process storage. However, the in-memory cache on other nodes will not be affected.

## Optimize performance

To optimize performance, configure `HybridCache` to reuse objects and avoid `byte[]` allocations.
Expand Down