Garnet

What Garnet is
Garnet is a free remote cache-store from Microsoft Research for self-hosted use on Linux, macOS and Windows. It uses the RESP protocol and works with many unmodified Redis clients, including StackExchange.Redis. Its data APIs include strings, lists, hashes, sets, sorted sets, geo operations, HyperLogLog, bitmaps, ACLs, pub/sub, transactions and Lua scripting. The project supports datasets larger than memory with local or cloud storage, as well as checkpointing and recovery. In multi-node cluster mode, it can shard data, migrate state and replicate.
Developers can use a custom operator framework to register C# data structures and read-modify-write operations. Garnet supports TLS/SSL connections and RESP password-based authentication. Vector database support using DiskANN and range index support using Bf-Tree are preview features. The project is licensed under the MIT License, and its site links to GitHub and Discord for project and community information. Garnet is not intended as a fully compatible Redis drop-in replacement and does not support Redis modules. The free self-hosted plan leaves infrastructure, updates and operations to the user. Azure Cosmos DB Garnet Cache is a separate managed service in expanded Private Preview; it handles infrastructure provisioning, scaling, patching and monitoring automatically. Its pricing is per instance per hour, with disk billed separately when persistence is enabled, and no licensing fees.
Who it suits
Garnet suits developers who want a free, self-hosted remote cache-store and use RESP-compatible clients or its supported data APIs. It can also suit teams that need persistence, recovery or multi-node clustering and are prepared to manage their own infrastructure.
What it does well
- Free self-hosted plan under the MIT License.
- Works with many unmodified Redis clients using RESP.
- Supports local or cloud storage, checkpointing and recovery.
- Multi-node clusters support sharding, state migration and replication.
- Includes TLS/SSL connections and RESP password authentication.
What to know first
- Self-hosted users manage infrastructure, updates and operations.
- Not intended as a fully compatible Redis drop-in replacement.
- Redis modules are not supported.
- DiskANN vector support and Bf-Tree range indexes are preview features.
Limits
The free plan is self-hosted, so users manage infrastructure, updates and operations. Disk is billed separately for Azure Cosmos DB Garnet Cache when persistence is enabled; that service is in expanded Private Preview.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Garnet | Self-hosted; you manage infrastructure, updates, and operations | Free |
| Azure Cosmos DB Garnet Cache | Billed per instance per hour; no licensing fees. Disk is billed separately when persistence is enabled. · Expanded Private Preview; per-node SKU pricing | On request |
As microsoft.github.io lists them, read 29 Sept 2026. The maker's own page has the final word.
Getting started
- Visit the Garnet project website for project information.
- Choose a Linux, macOS or Windows environment for self-hosted deployment.
- Use a documented Redis client library, such as StackExchange.Redis, Jedis, Redisson, redis-py, node_redis or go-redis.
- Manage infrastructure, updates and operations for the free self-hosted plan.
- Review Azure Cosmos DB Garnet Cache if you want the managed service; it is in expanded Private Preview.
Garnet is a remote cache-store for developers building low-latency applications who want broad data APIs and control over deployment. Its persistence, recovery, and cluster capabilities extend it beyond a basic cache, but compatibility limits matter for teams moving from Redis.
Overview
Garnet is free, MIT-licensed software from Microsoft Research. It uses RESP and works with many unmodified Redis clients, including StackExchange.Redis, Jedis, Redisson, redis-py, node_redis, and go-redis. That can make it practical to try with familiar client libraries, but it is not a fully compatible Redis replacement and does not support Redis modules. Applications that rely on exact Redis behavior or modules should not assume they can switch without changes.
The self-hosted version leaves infrastructure, updates, and operations to you. That is a good fit for teams comfortable running a cache service themselves, but less attractive if you want someone else to handle its upkeep. Azure Cosmos DB Garnet Cache is a managed option that handles provisioning, scaling, patching, and monitoring; it remains in expanded Private Preview.
Key features
Data APIs and clients
Garnet covers strings, lists, hashes, sets, sorted sets, geo operations, HyperLogLog, bitmaps, ACLs, pub/sub, transactions, and Lua scripting. This range suits applications with varied key-value workloads and gives developers familiar Redis client options. Client support does not erase the compatibility caveat: check that the commands and behavior your application needs are supported.
Persistence and recovery
Garnet can support datasets larger than memory using local or cloud storage, and offers checkpointing and recovery. Those capabilities are useful when a cache needs more capacity than RAM alone or needs a recovery path. They also mean storage choices and operations are part of deployment planning rather than something the free self-hosted plan manages for you.
Clustering and extensibility
Multi-node cluster mode supports sharding, state migration, and replication, which gives teams tools for distributing data and coordinating changes across nodes. Developers can also register C# data structures and read-modify-write operations through a custom operator framework. That is a meaningful advantage for teams willing to extend the service in C#, though it makes Garnet more compelling to developers than to buyers seeking a turnkey cache.
Preview capabilities and security
Vector database support through DiskANN and range indexing through Bf-Tree are marked preview, so they are not a sound basis for a deployment that depends on settled capabilities. Garnet also supports TLS/SSL connections and RESP password-based authentication, useful security controls for service connections.
Pricing
Garnet: free. This self-hosted plan is the straightforward choice for teams that can provide infrastructure and handle updates and operations. There is no published seat or quota limit to weigh, but operating the service remains your responsibility.
Azure Cosmos DB Garnet Cache: custom pricing. It is billed per instance per hour with no licensing fees, uses per-node SKU pricing, and bills disk separately when persistence is enabled. Its managed provisioning, scaling, patching, and monitoring may suit teams seeking less operational work, but it is in expanded Private Preview.
Platforms
Garnet supports Linux, macOS, and Windows, and is self-hosted. That range offers deployment flexibility across common operating systems, while still requiring the team to run and maintain the service.
Who it's for
Garnet is best suited to developers and operations teams that want a free, self-hosted cache with RESP clients, persistence options, and cluster features. Its C# operator framework is especially relevant to developers who want to add custom data structures or operations. It is a weaker fit for teams that require Redis modules, complete Redis compatibility, or production-ready vector and range-index features.
Pros and cons
- Pro: The broad data API and documented Redis client libraries can accommodate varied workloads and familiar client stacks.
- Pro: Storage beyond memory, checkpointing, recovery, and multi-node cluster features provide options for larger or distributed deployments.
- Pro: The MIT license and free self-hosted plan avoid licensing fees.
- Con: Self-hosting means you own infrastructure, updates, and day-to-day operations.
- Con: It is not a full Redis drop-in replacement and does not support Redis modules, limiting suitability for some migrations.
- Con: Vector and range-index capabilities are preview features, not dependable choices for requirements that need established support.
Alternatives
Browse caching software if you want to compare more options. Choose Amazon ElastiCache if you want a paid cache service with an AWS Free Tier option, rather than Garnet's self-hosted operations model. Aiven for Valkey is worth considering if you want a free managed-service entry point: its Free plan is $0/month with one dedicated VM, one CPU, and 1 GB RAM, while excluding integrations and connection pooling.
Choose Memcached for free, open-source self-hosted caching without a hosted plan. Ristretto is the alternative when an in-process Go cache library is a better fit than a remote service. Choose Squid if you need free self-hosted proxy software, or Apache Traffic Server for a free self-hosted traffic-server option. cache2k is an Apache-licensed Java library available from Maven Central. Accessibility Test Framework for Android is another free option, built for Android accessibility testing rather than caching.
Verdict
Choose Garnet if you want a free, MIT-licensed cache with RESP client support, persistence, recovery, clustering, and room for C# extensions—and your team can operate it. Its broad APIs make it a capable option for developers, but Redis modules are unsupported and full Redis compatibility is not the goal. Look elsewhere if those are requirements, or if you need preview vector and range-index features to be production-ready.
Verdict
Choose Garnet if you need a free, self-hosted cache-store with RESP client support, persistence options and cluster features. Its MIT license and broad data APIs suit developers who can operate the service themselves. Look elsewhere if you require Redis modules or a fully compatible Redis drop-in replacement.
Questions
Is Garnet free?
The self-hosted Garnet plan is free. Azure Cosmos DB Garnet Cache has per-instance-per-hour billing, no licensing fees, and separate disk billing when persistence is enabled.
Which platforms can host Garnet?
Garnet supports Linux, macOS, Windows and self-hosted deployment.
Can I use Redis clients with Garnet?
Garnet uses RESP and works with many unmodified Redis clients, including StackExchange.Redis. It is not intended as a fully compatible Redis drop-in replacement and does not support Redis modules.
Is Garnet open source?
The Garnet project is licensed under the MIT License.
What storage and cluster capabilities does Garnet have?
It supports datasets larger than memory with local or cloud storage, checkpointing and recovery. Multi-node cluster mode supports sharding, state migration and replication.
Is there a managed version?
Azure Cosmos DB Garnet Cache handles infrastructure provisioning, scaling, patching and monitoring automatically. It is in expanded Private Preview.
Facts from Garnet's own pages
- Cluster features
- Multi-node cluster mode supports sharding, state migration, and replication. · microsoft.github.io, 29 Sept 2026
- Compatibility limit
- Garnet is not intended to be a fully compatible Redis drop-in replacement, and it does not support Redis modules. · microsoft.github.io, 29 Sept 2026
- Data APIs
- Its API includes strings, lists, hashes, sets, sorted sets, geo operations, HyperLogLog, bitmaps, ACLs, pub/sub, transactions, and Lua scripting. · microsoft.github.io, 29 Sept 2026
- Extensibility
- A custom operator framework lets developers register C# data structures and read-modify-write operations. · microsoft.github.io, 29 Sept 2026
- Founded
- 2024 · microsoft.github.io, 28 Sept 2026
- Integrations
- The documented Redis client libraries include StackExchange.Redis, Jedis, Redisson, redis-py, node_redis, and go-redis. · microsoft.github.io, 29 Sept 2026
- License
- The Garnet project is licensed under the MIT License. · github.com, 29 Sept 2026
- Managed service
- Azure Cosmos DB Garnet Cache handles infrastructure provisioning, scaling, patching, and monitoring automatically; it is in expanded Private Preview. · microsoft.github.io, 29 Sept 2026
- Platforms
- The server is extensively tested on Windows and Linux, and is also described as running on Azure hardware and edge devices. · microsoft.github.io, 29 Sept 2026
- Preview features
- Vector database support using DiskANN and range index support using Bf-Tree are marked preview. · microsoft.github.io, 29 Sept 2026
- Protocol and clients
- Garnet uses the RESP protocol and works with many unmodified Redis clients, including StackExchange.Redis. · microsoft.github.io, 29 Sept 2026
- Purpose
- Garnet is a remote cache-store from Microsoft Research designed for high performance, extensibility, and low latency. · microsoft.github.io, 29 Sept 2026
- Security
- Garnet supports TLS/SSL connections and RESP password-based authentication. · microsoft.github.io, 29 Sept 2026
- Storage and recovery
- Garnet supports datasets larger than memory using local or cloud storage, along with checkpointing and recovery. · microsoft.github.io, 29 Sept 2026
- Support and community
- The project site links to Discord and GitHub for community and project information. · microsoft.github.io, 29 Sept 2026
Where Garnet stands on Freedom251
- Caching Software#6 of 27