![]() |
VOOZH | about |
dotnet add package CacheManager.Core --version 3.0.0
NuGet\Install-Package CacheManager.Core -Version 3.0.0
<PackageReference Include="CacheManager.Core" Version="3.0.0" />
<PackageVersion Include="CacheManager.Core" Version="3.0.0" />Directory.Packages.props
<PackageReference Include="CacheManager.Core" />Project file
paket add CacheManager.Core --version 3.0.0
#r "nuget: CacheManager.Core, 3.0.0"
#:package CacheManager.Core@3.0.0
#addin nuget:?package=CacheManager.Core&version=3.0.0Install as a Cake Addin
#tool nuget:?package=CacheManager.Core&version=3.0.0Install as a Cake Tool
CacheManager is an open source caching abstraction layer for .NET written in C#. It supports various cache providers and implements many advanced features.
The main goal of the CacheManager package is to make developer's life easier to handle even very complex caching scenarios.
With CacheManager it is possible to implement multiple layers of caching, e.g. in-process caching in front of a distributed cache, in just a few lines of code.
CacheManager is not just an interface to unify the programming model for various cache providers, which will make it very easy to change the caching strategy later on in a project. It also offers additional features, like cache synchronization, concurrent updates, serialization, events, performance counters... The developer can opt-in to those features only if needed.
| Branch | Status |
|---|---|
| Dev | 👁 Build Status |
| Master | 👁 Build Status |
| Package Name | FullFramework | .NET Standard | net8.0 |
|---|---|---|---|
| CacheManager.Core | 4.7.2 | 2.0 | net8.0 |
| CacheManager.Microsoft.Extensions.Caching.Memory | - | 2.0 | net8.0 |
| CacheManager.Microsoft.Extensions.Configuration | - | 2.0 | net8.0 |
| CacheManager.Serialization.Bond | - | 2.0 | net8.0 |
| CacheManager.Serialization.DataContract | - | 2.0 | net8.0 |
| CacheManager.Serialization.Json | - | 2.0 | net8.0 |
| CacheManager.Serialization.ProtoBuf | - | 2.0 | net8.0 |
| CacheManager.StackExchange.Redis | 4.7.2 | 2.0 | net8.0 |
| CacheManager.SystemRuntimeCaching | 4.7.2 | 2.0 | net8.0 |
For testing and benchmarking, this project is now using Microsoft.Garnet, which allows to create a Redis server which runs in process and is easy to setup. This has some limitations though and before you use Microsoft.Garnet in production, be aware that for example key space notifications are not supported yet.
See https://github.com/microsoft/garnet for details.
Beta versions of the CacheManager packages are getting pushed to https://www.myget.org/feed/Packages/dnsclient on each build.
To find which check-in created which build, use this build history.
Documentation can be found on cachemanager.michaco.net:
Generated API documentation is also available.
CacheManager related blog posts can be found on my website
See benchmarks results on GitHub.
ICache<T>Put and Add operations will always be executed on all cache handles registered on the manager.Get, there are different configuration options defined by CacheUpdateMode, if the item was available in one cache handle:
OnRemoveByHandle events triggered by actual expiration or memory pressure eviction by the cache vendor| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 net5.0 was computed. net5.0-windows net5.0-windows was computed. net6.0 net6.0 was computed. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 was computed. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 netcoreapp2.0 was computed. netcoreapp2.1 netcoreapp2.1 was computed. netcoreapp2.2 netcoreapp2.2 was computed. netcoreapp3.0 netcoreapp3.0 was computed. netcoreapp3.1 netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 netstandard2.0 is compatible. netstandard2.1 netstandard2.1 is compatible. |
| .NET Framework | net461 net461 was computed. net462 net462 was computed. net463 net463 was computed. net47 net47 was computed. net471 net471 was computed. net472 net472 is compatible. net48 net48 was computed. net481 net481 was computed. |
| MonoAndroid | monoandroid monoandroid was computed. |
| MonoMac | monomac monomac was computed. |
| MonoTouch | monotouch monotouch was computed. |
| Tizen | tizen40 tizen40 was computed. tizen60 tizen60 was computed. |
| Xamarin.iOS | xamarinios xamarinios was computed. |
| Xamarin.Mac | xamarinmac xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos xamarinwatchos was computed. |
Showing the top 5 NuGet packages that depend on CacheManager.Core:
| Package | Downloads |
|---|---|
|
CacheManager.StackExchange.Redis
CacheManager extension package which adds support for Redis as a distributed cache layer. CacheManager is an open source caching abstraction layer for .NET written in C#. It supports various cache providers and implements many advanced features. |
|
|
CacheManager.Serialization.Json
CacheManager extension package providing JSON serialization for distributed caches. CacheManager is an open source caching abstraction layer for .NET written in C#. It supports various cache providers and implements many advanced features. The Core library contains a Newtonsoft.Json based serializer implementation which can be used instead of the default binary serializer. |
|
|
CacheManager.Microsoft.Extensions.Caching.Memory
CacheManager is an open source caching abstraction layer for .NET written in C#. It supports various cache providers and implements many advanced features. This package contains the specific cache handle for Microsoft.Extensions.Caching.Memory. |
|
|
CacheManager.Microsoft.Extensions.Configuration
CacheManager extension package to use Microsoft.Extensions.Configuration to configure the CacheManager instance. CacheManager is an open source caching abstraction layer for .NET written in C#. This is the ASP.NET Core configuration integration package. |
|
|
CacheManager.SystemRuntimeCaching
CacheManager extension package which adds System.Runtime.Caching.MemoryCache as an option for a local in-memory cache layer. CacheManager is an open source caching abstraction layer for .NET written in C#. It supports various cache providers and implements many advanced features. |
Showing the top 10 popular GitHub repositories that depend on CacheManager.Core:
| Repository | Stars |
|---|---|
|
VahidN/EFCoreSecondLevelCacheInterceptor
EF Core Second Level Cache Interceptor
|
|
|
SparkDevNetwork/Rock
An open source CMS, Relationship Management System (RMS) and Church Management System (ChMS) all rolled into one.
|
|
|
TurnerSoftware/CacheTower
An efficient multi-layered caching system for .NET
|
|
|
axzxs2001/Asp.NetCoreExperiment
原来所有项目都移动到**OleVersion**目录下进行保留。新的案例装以.net 5.0为主,一部分对以前案例进行升级,一部分将以前的工作经验总结出来,以供大家参考!
|
|
|
VahidN/EFSecondLevelCache.Core
Entity Framework Core Second Level Caching Library
|
|
|
guoming/Hummingbird
分布式锁,分布式ID,分布式消息队列、配置中心、注册中心、服务注册发现、超时、重试、熔断、负载均衡
|
|
|
DavidChild/Bitter.Core.Orm.NetCore
bitter.core is a high-performance and easy-to-use netcore / netframework orm framework. I think you'll love it. designed for development and efficiency. efficiency, high performance and high stability are always the pursuit of programmers. bittercore was born for that. you want to be lazy, even lazier! simple, more simple! controllable, more controllable! please use it bitter.Core .
|
|
|
BeiYinZhiNian/Caviar-Blazor
Caviar-Blazor是采用Blazor + Ant Design的后台管理框架,框架包含了后台管理的常用功能,简单大方的界面,拥有数据权限、字段权限、API权限等,可精细化控制任意元素,而且更好的兼容手机端,让开发者更专注于业务上的开发。
|
|
|
NGame1/Winsta11
Unofficial Instagram client for Windows devices family [ PC, XBOX, Mobile ]
|
|
|
neon-sunset/fast-cache
The fastest cache library written in C# for items with set expiration time. Easy to use, thread-safe and light on memory.
|
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0 | 46,267 | 2/18/2026 |
| 3.0.0-beta-20251110.1 | 1,127 | 11/10/2025 |
| 2.0.0 | 442,625 | 3/6/2025 |
| 2.0.0-beta-20250302.24 | 298 | 3/2/2025 |
| 2.0.0-beta-20250302.12 | 337 | 3/2/2025 |
| 2.0.0-beta-1629 | 2,208,662 | 11/15/2018 |
| 1.2.0 | 11,815,160 | 12/6/2018 |
| 1.1.2 | 2,631,229 | 11/18/2017 |
| 1.1.1 | 534,154 | 7/2/2017 |
| 1.1.0 | 102,227 | 6/5/2017 |
| 1.0.1 | 105,713 | 4/20/2017 |
| 1.0.0 | 43,916 | 3/19/2017 |
| 1.0.0-beta-1456 | 3,286 | 3/14/2017 |
| 1.0.0-beta-1455 | 17,873 | 3/14/2017 |
| 0.9.3 | 584,024 | 2/3/2017 |
| 0.9.2 | 233,211 | 12/1/2016 |
| 0.9.1 | 77,813 | 9/23/2016 |
| 0.9.0 | 35,296 | 8/21/2016 |
| 0.8.0 | 314,861 | 2/28/2016 |
| 0.7.4 | 11,790 | 2/14/2016 |