Skip to main content
.NETFramework4.7.1net6.0.NETStandard2.0

A set of aspects that simplify the caching: [Cache] to cache a method result as a function of its parameters, [InvalidateCache] to invalidate the cache, or [CacheKey] to mark a cache key in a class.

Published
Oct 31, 2024
1y ago
Total Downloads
82.8K
82,823

Install

dotnet add package Metalama.Patterns.Caching.Aspects --version 2025.0.4-preview
ProductVersions
.NET
net6.0
.NET Standard
netstandard2.0
Other
.NETFramework4.7.1

README

Metalama Logo

About

The Metalama.Patterns.Caching.Aspects package provides an aspect-oriented API that enables caching of method results as a function of their arguments. It also allows for cache item invalidation, cache key construction, and dependency management. This API is built on the Metalama aspect framework. The caching abstractions and functionalities are defined in the Metalama.Patterns.Caching family of packages.

Key Features

  • Caching the return value of a method as a function of its argument.
  • Automatic invalidation of a cached method result when an update method is executed.
  • Dependency collection during the execution of the cached method, and automatic addition of dependencies to the cache item.
  • Automatic and reliable generation of cache keys.

Main Types

  • CacheAttribute is the primary caching aspect.
  • InvalidateCacheAttribute is an aspect to be applied to the Update method, which causes the Get method to be removed from the cache for matching arguments.
  • CacheKeyAttribute is an aspect to be applied to the fields or properties of a type that can be used as a parameter for a cached method. It designates the fields and properties that should be a part of the cache key.

Additional Documentation

Related Packages

  • Metalama.Patterns.Caching is the object-oriented API for which the current package provides aspects.
  • Metalama.Patterns.Memoization offers a simple, high-performance alternative to caching, working only with read-only properties and parameterless methods.

Changes from Previous Version

No structural changes between v2025.0.3-preview and v2025.0.4-preview.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

This version is marked prerelease. Validate its API and upgrade path before production use.No SPDX license expression is published. Review the license text and your organisation's policy before redistribution.Compatibility metadata lists 3 target frameworks; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.