For a caching library for C# applications, the strongest matches are dotnetcore/easycaching (EasyCaching is a comprehensive), stackexchange/stackexchange.redis (This is a high-performance Redis client for) and michaco/cachemanager (CacheManager is a comprehensive abstraction layer for). microsoft/garnet and memcached/memcached round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
We curate open-source GitHub repositories matching “best c sharp caching libraries”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
:boom: EasyCaching is an open source caching library that contains basic usages and some advanced usages of caching which can help us to handle caching more easier!
EasyCaching is a comprehensive .NET caching library that provides a unified abstraction for both in-memory and distributed storage, featuring built-in support for dependency injection, asynchronous operations, and various serialization providers.
General purpose redis client
This is a high-performance Redis client for .NET that provides the necessary infrastructure for distributed caching, asynchronous operations, and serialization, though it functions as a driver rather than a full-featured caching abstraction 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 is a comprehensive abstraction layer for .NET that provides a unified interface for both in-memory and distributed caching providers, including support for asynchronous operations, serialization, and dependency injection.
Garnet is a multi-threaded in-memory database and distributed key-value store. It functions as a high-performance remote cache store that implements the RESP wire protocol to maintain compatibility with existing Redis clients and libraries. The project is distinguished by a shared-memory architecture that enables parallel request processing across multiple cores for sub-millisecond latency. It features a tiered storage system that automatically offloads colder data from system memory to SSD or cloud storage layers, and includes a specialized vector search database for high-dimensional similar
Garnet is a high-performance, distributed key-value store and cache server that provides the core caching capabilities required for .NET applications, though it functions as a standalone server process rather than a lightweight in-process library.
Memcached is a high-performance, distributed, in-memory key-value storage and request routing engine. It functions as a volatile data store designed to accelerate dynamic applications by caching objects in RAM, thereby reducing backend database load and providing sub-millisecond response times. The system utilizes a specialized architecture that organizes memory into fixed-size slabs to minimize fragmentation and maximize throughput for high-concurrency workloads. The project distinguishes itself through a multi-threaded, lock-friendly design that scales across CPU cores and supports complex
Memcached is a high-performance distributed caching server that you can connect to from .NET, but it is a standalone infrastructure service rather than a native .NET caching library designed for dependency injection and integration within the .NET ecosystem.
KeyDB is a multithreaded in-memory key-value store and distributed cache. It functions as a NoSQL database utilizing multi-version concurrency control to execute non-blocking queries and scans. The project is a multithreaded fork of Redis that maintains protocol compatibility while utilizing a multithreaded architecture to scale across multi-core hardware. It distinguishes itself with flash-tiered storage, allowing the system to offload data from primary RAM to SSD or flash storage to increase total capacity. The system supports high availability through active-active mesh replication and mu
KeyDB is a high-performance, distributed, Redis-compatible key-value store, but it is a standalone server-side application rather than a .NET-native caching library designed for integration via dependency injection.
Nancy is a lightweight .NET HTTP web framework used for building web services and APIs on .NET and Mono. Its core identity consists of a routing system for matching URL paths to handlers, a content negotiation engine for selecting response data formats, and a dependency injection container for resolving module requirements. The framework provides a cross-platform web host abstraction that allows applications to run within various web servers or as standalone self-hosted processes. It further decouples components by mapping requested service types to specific implementations at runtime. The s
This is a web application framework for building APIs and services, not a dedicated caching library, though it includes dependency injection and basic infrastructure that you might use to build or integrate a cache.
Redis is an in-memory, key-value database designed to provide sub-millisecond latency for read and write operations. It functions as a versatile data platform, serving as a distributed cache, a message broker, a NoSQL document store, and a vector database. The system utilizes an event-driven, single-threaded loop to process requests efficiently, while maintaining data durability through append-only persistence logs and asynchronous snapshotting mechanisms. What distinguishes Redis is its ability to handle complex data structures—including strings, hashes, lists, sets, and sorted sets—alongsid
Redis is a high-performance, distributed data store that serves as a backend for caching, but it is a standalone server application rather than a .NET-native library designed for integration via dependency injection.
Valkey is an in-memory, NoSQL database server designed for high-performance data storage and real-time state management. It operates as a distributed key-value store, maintaining datasets entirely within system memory to facilitate sub-millisecond response times for read and write operations. The system distinguishes itself through a single-threaded event loop that utilizes asynchronous I/O multiplexing to ensure high throughput. It supports high availability via master-replica replication and provides a decoupled communication model through a built-in publish-subscribe messaging pattern. To
Valkey is a standalone, high-performance distributed key-value database server rather than a .NET-native caching library designed for integration via dependency injection.
Mooncake is a disaggregated large language model serving platform and distributed key-value store designed for high-performance inference infrastructure. It functions as a GPU memory orchestrator and KV cache management system that pools and transfers key-value caches across clusters to accelerate inference. The system distinguishes itself by separating the prefill and decode phases of inference into distinct hardware clusters to optimize resource utilization. It utilizes a high-performance RDMA distributed cache with zero-copy transfers to move data between compute nodes, bypassing the CPU t
This is a specialized distributed key-value store for LLM inference and GPU memory orchestration rather than a general-purpose caching library for the .NET ecosystem.
Dragonfly is a high-performance, multi-model in-memory data store designed to serve as a drop-in replacement for existing database infrastructures. By utilizing a multi-threaded, shared-nothing architecture and a fiber-based concurrency model, it maximizes CPU utilization and minimizes latency for read and write operations. The system supports a wide range of data structures, including strings, hashes, lists, sets, sorted sets, and JSON documents, while maintaining full compatibility with standard industry wire protocols and client libraries. What distinguishes Dragonfly is its focus on effic
Dragonfly is a high-performance, standalone in-memory data store and database server, rather than a .NET-native caching library designed for integration via dependency injection within the .NET ecosystem.
Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL database. It provides sub-millisecond read and write access to data stored in RAM and can operate as a vector database for indexing high-dimensional embeddings. The system supports a wide range of data storage and synchronization primitives, including the management of strings, hashes, lists, sets, and JSON documents. It enables real-time data operations through atomic transactions, hybrid persistence using snapshots and append-only logs, and high-availability configurations
This repository is the Redis server itself, which acts as a distributed caching backend, rather than a .NET-specific library or client SDK designed to integrate caching into your application code.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| dotnetcore/easycaching | 2.1K | C# | MIT | |
| stackexchange/stackexchange.redis | 6.2K | C# | NOASSERTION | |
| michaco/cachemanager | 2.4K | C# | Apache-2.0 | |
| microsoft/garnet | 11.9K | C# | MIT | |
| memcached/memcached | 14.1K | C | bsd-3-clause | |
| snapchat/keydb | 12.5K | C++ | BSD-3-Clause | |
| nancyfx/nancy | 7.1K | C# | MIT | |
| redis/redis | 74.9K | C | NOASSERTION | |
| valkey-io/valkey | 24.9K | C | other | |
| kvcache-ai/mooncake | 5.6K | C++ | Apache-2.0 |