For a fast in-memory cache store, the first results are redis-windows/redis-windows (This is a native Windows port of Redis, the leading in-memory key-value store, offering all essential features like TTL, advanced data structures, optional persistence, and high throughput, making it an excellent fit for caching and session storage on Windows servers), valkey-io/valkey (Valkey is a high-performance in-memory key-value store and cache that supports TTL, advanced data structures, optional persistence, replication, clustering, and multi-language clients, making it a direct and comprehensive fit for your use case) and dragonflydb/dragonfly (Dragonfly is a high-performance, in-memory key-value store fully compatible with the Redis protocol, supporting advanced data structures, TTL/expiry, optional persistence, and replication—making it an ideal self-hosted drop-in for caching and session storage workloads). dicedb/dice and snapchat/keydb round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
High-performance data structures for managing application caching, session state, and real-time data storage requirements.
This project is a native Windows port of the Redis in-memory key-value store. It provides a high-speed database that maintains datasets in RAM while using periodic snapshots to disk for data persistence. The implementation includes a background system service wrapper, allowing the data store to be installed as a Windows service that starts automatically upon computer boot. It utilizes native Windows compilation to enable execution directly on the host operating system. The system covers in-memory data caching and local data persistence, ensuring that information is recovered after a process
This is a native Windows port of Redis, the leading in-memory key-value store, offering all essential features like TTL, advanced data structures, optional persistence, and high throughput, making it an excellent fit for caching and session storage on Windows servers.
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 high-performance in-memory key-value store and cache that supports TTL, advanced data structures, optional persistence, replication, clustering, and multi-language clients, making it a direct and comprehensive fit for your use case.
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, in-memory key-value store fully compatible with the Redis protocol, supporting advanced data structures, TTL/expiry, optional persistence, and replication—making it an ideal self-hosted drop-in for caching and session storage workloads.
Dice is a low-latency key-value store based on Valkey that functions as a hierarchical storage engine. It combines a high-speed memory store with a tiered cache system to manage data across multiple storage levels. The system extends memory capacity by implementing a disk-backed cache that automatically persists evicted items to disk and restores them during cache misses. This storage tiering balances retrieval speed and operational cost by distributing data between fast memory and slower disk storage. The engine includes a query subscription service that monitors specific data patterns and
Dice is a Valkey-compatible, low-latency key-value store with in-memory storage, tiered caching, persistence, and real-time data subscriptions — exactly what you need for self-hosted caching and session storage.
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 multithreaded in-memory key-value store and distributed cache that is fully Redis-compatible, providing core caching features like in-memory storage, TTL expiry, advanced data structures, optional persistence, high throughput, replication, and clustering—exactly what's needed for caching and session storage.
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 the canonical in-memory key-value store with sub-millisecond latency, built-in TTL/expiry, a wide range of advanced data structures, optional persistence, and replication, making it an ideal choice for caching and session storage in self-hosted or embedded setups.
go-cache is a thread-safe, in-memory cache library for Go that stores arbitrary objects with per-item expiration timestamps. It provides a concurrent key-value store where multiple goroutines can safely read and write shared cached data without external synchronization, using a mutex-guarded map for access control. The library distinguishes itself through its expiration management and optional disk persistence. Each cached item carries its own time-to-live, and a background goroutine periodically purges expired entries. The cache can serialize its entire contents to disk using Go's gob encodi
This Go library provides a thread-safe, in-memory key-value cache with per-item TTL and optional disk persistence, making it a straightforward fit for an embedded caching or session store — though it lacks the clustering, replication, and advanced data structures of a full server-based solution.
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 is the canonical in-memory key-value store, providing sub-millisecond access, TTL/expiry, a rich set of data structures, optional persistence, and robust replication/clustering — exactly what a fast caching or session store demands.
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 in-memory key-value store that implements the RESP protocol for Redis compatibility, giving it a full set of data structures, TTL, persistence, clustering, and low-latency performance — exactly the fast, self-hosted cache or session store you're looking for.
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 battle-tested, high-performance in-memory key-value cache built for caching and session storage, delivering sub-millisecond response times and TTL expiry with client libraries for every major language, though it lacks built-in persistence and advanced data structures.
FASTER is a high-throughput key-value store that combines an in-memory data store with a hybrid memory-disk storage engine, enabling datasets larger than available RAM. It uses a latch-free, cache-optimized index for concurrent point lookups and heavy updates, and records all mutations to a persistent append-only log on disk with checksum validation and group-commit checkpointing for crash recovery. The system supports multi-key transactional workloads through atomic multi-key locking, ensuring transactional consistency without coarse-grained contention. It exposes the key-value store to remo
FASTER is a high-throughput embedded key-value store library with in-memory and optional disk-backed storage, fitting the need for a fast cache or session store, though it lacks built-in TTL/expiry and clustering.
Bigcache is a thread-safe, in-memory key-value store for Go designed to minimize garbage collection pauses. It functions as a memory-optimized cache capable of storing gigabytes of data while maintaining low latency during high-volume operations. The system avoids garbage collection overhead by managing memory through large byte arrays and manual allocation. It utilizes a circular-buffer layout to reuse space and lock-striped sharding to reduce contention during concurrent read and write access. The project provides capabilities for high-volume in-memory caching and low-latency data retrieva
BigCache is an in-memory key-value store for Go optimized for high-throughput and low-latency caching, making it a solid fit for embedded use, though it lacks built-in TTL/expiry, persistence, and clustering features.
Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis
Hazelcast is a distributed in-memory data grid and key-value store with low-latency access, replication, clustering, and client libraries, which fully matches the need for a fast, self-hosted or embeddable cache or session store with optional persistence and TTL support.
Olric is a distributed data grid and in-memory key-value store that partitions and replicates data across a cluster of servers. It serves as a shared memory system for managing distributed maps, performing atomic operations, and acting as an in-memory data cache. The system provides a distributed locking mechanism for concurrency control and a pub-sub messaging system that broadcasts and routes messages over named channels across the cluster. The platform covers wide-ranging capabilities including cluster management and orchestration, data replication with configurable quorums, and automated
Olric is a distributed, in-memory key-value store and data grid that handles caching, session storage, clustering, and replication, making it a solid fit for a fast self-hosted or embedded cache—though it may offer a narrower set of advanced data structures than some alternatives.
NutsDB is an ACID-compliant, embedded transactional storage engine that functions as both a disk-backed key-value store and an in-memory data structure store. It provides atomic and serializable transactions with commit and rollback capabilities to ensure strict data consistency for applications requiring a lightweight persistence layer. The engine distinguishes itself by supporting a variety of complex data types, including lists, sets, and sorted sets, alongside standard byte-slice storage. It implements a transactional storage model featuring hot backups and a compaction algorithm to maint
NutsDB is a Go-based embedded key-value store that supports in-memory and disk-backed storage with TTL expiry, advanced data structures (lists, sets, sorted sets), and ACID transactions, making it a good fit for caching and session storage, though it lacks built-in replication/clustering.
Ristretto is a high-performance in-memory cache and concurrent key-value store for Go applications. It provides a thread-safe memory store that manages strict memory bounds and employs probabilistic set filters to reduce lookup overhead. The system is distinguished by an admission-policy cache that utilizes frequency sketches and cost-based eviction to maximize hit ratios. It minimizes contention and improves throughput through the use of striped ring buffers and concurrent map sharding. The project covers a broad range of data management capabilities, including time-based expiration, item f
Ristretto is an in-memory key-value cache library for Go with TTL support and high throughput, fitting the request for caching and session storage in embedded applications, though it lacks persistence, clustering, and multi-language clients.
freecache is a high-performance, concurrent in-memory key-value store library for Go applications. It functions as a fixed-size cache that manages large volumes of data while eliminating garbage collection overhead through the use of preallocated memory and off-heap storage. The system maintains a predictable memory footprint by utilizing fixed memory allocation and circular buffer management, where new entries automatically overwrite the oldest data upon reaching capacity. It further reduces contention between simultaneous readers and writers through lock-striped concurrent access. The libr
Freecache is a Go library providing a high-performance in-memory key-value cache with TTL support and low GC overhead, directly fitting the search for an embedded cache for sessions and caching—though it lacks built-in persistence and replication features found in full-fledged standalone stores.
Groupcache is a distributed caching library designed to coordinate data retrieval and storage across a cluster of nodes. It functions as a peer-to-peer data store that uses consistent hashing to assign specific keys to canonical owners, ensuring that cached items remain predictable and accessible throughout the network. The system distinguishes itself through a request coalescing engine that merges concurrent requests for the same missing key into a single upstream fetch. This mechanism prevents redundant backend load by ensuring that only one process retrieves the required data while sharing
Groupcache is a distributed, in-memory key-value caching library that uses consistent hashing and request coalescing for cluster coordination, which fits the caching use case but lacks built-in TTL/expiry and a standalone network API, making it less ready for session storage without additional customisation.
Node-cache is a lightweight in-memory data storage module designed for Node.js applications. It functions as a key-value store that maintains frequently accessed data directly within the application runtime to improve response times and reduce latency. The library manages the lifecycle of stored information through automated expiration policies, which use internal timers to remove stale entries once a defined time-to-live duration has elapsed. It provides granular control over stored resources, allowing for the manual inspection, deletion, or clearing of specific keys to manage memory usage e
A simple in-memory cache for Node.js that stores key-value pairs with TTL support — perfect for lightweight caching and session storage where you need speed and ease of embedding.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| redis-windows/redis-windows | 3.5K | Batchfile | apache-2.0 | |
| valkey-io/valkey | 24.9K | C | other | |
| 30.7K |
| C++ |
| NOASSERTION |
| dicedb/dice | 10.8K | C | NOASSERTION |
| snapchat/keydb | 12.5K | C++ | BSD-3-Clause |
| redis/redis | 74.9K | C | NOASSERTION |
| patrickmn/go-cache | 8.8K | Go | MIT |
| tporadowski/redis | 10K | C | other |
| microsoft/garnet | 11.9K | C# | MIT |
| memcached/memcached | 14.1K | C | bsd-3-clause |