ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

亚 300 微秒延迟:微软的 Garnet,一个你的 Redis 客户端直接能连的缓存存储

2026/9/14 4:16:40 拓冰建站 浏览量
亚 300 微秒延迟:微软的 Garnet,一个你的 Redis 客户端直接能连的缓存存储 亚 300 微秒延迟微软的 Garnet一个你的 Redis 客户端直接能连的缓存存储【免费下载链接】garnetGarnet is a remote cache-store from Microsoft Research that offers strong performance (throughput and latency), scalability, storage, recovery, cluster sharding, key migration, and replication features. Garnet can work with existing Redis clients.项目地址: https://gitcode.com/GitHub_Trending/garnet4/garnetGarnet 是微软研究院开源的高性能缓存存储说 Redis 的 RESP 协议现有 Redis 客户端不改动就能直连。在普通云主机上它把 99.9% 请求延迟压进 300 微秒以内多连接、小批量场景的吞吐量也明显领先。不改一行代码现有 Redis 客户端直接接入Garnet 直接采用 RESP 协议也就是 Redis 线上跑的那套协议所以现成的 Redis 客户端——C# 里的 StackExchange.Redis、Python 的 redis-py——把地址指过去就能用不需要任何适配层。通信层开箱支持 TLS 加密基于 .NET 的 SslStream 实现附带基础的访问控制。整个项目构建在 .NET 之上Linux 和 Windows 都能跑。这意味着什么如果你的业务已经有一整套 Redis 客户端代码试 Garnet 的成本接近于零只是换了一个服务器进程。为什么快把线程切换从热路径里删掉性能优势不是靠单点优化而是 Garnet 把从收包、协议解析到存储交互的整条链路重新设计了一遍。关键一步在网络层它基于共享内存设计TLS 解密和存储操作直接在网络 IO 完成线程上执行公共路径上几乎不发生线程切换。传统做法要把数据包转交给对应分片的线程再处理Garnet 则让 CPU 缓存一致性直接把数据带进处理逻辑。说白了少一跳延迟就低一截。⚡底下是 Tsavorite 存储引擎分两层主存储针对 GET、SET 这类原始字符串操作优化刻意规避 GC 开销对象存储承载有序集合、哈希、列表这类复杂类型还支持内存、SSD、云存储多级分层、非阻塞检查点和操作日志持久化。对高吞吐场景来说这意味着检查点和压缩不会把正在处理的请求卡住。用 C# 写扩展连向量检索也内置了如果你的业务有自定义数据类型或多步原子操作可以直接用 C# 写 Garnet 的自定义命令、存储过程和模块挂到服务器端Lua 脚本同样支持。相比 C 项目扩展门槛低不少类型系统还顺手帮你挡掉一类内存错误。再往前看两个预览功能基于 Bf-Tree 的范围索引给 Garnet 的键加二级索引以及向量集合Vector Sets——用 DiskANN 在缓存里直接做近似最近邻检索。在官方的对比测试里它的 QPS、p99 延迟和召回率压过了不少独立的向量数据库对缓存 检索一体的业务这相当于少维护一套基础设施。规模上去以后分片、复制、键迁移都是一等公民Garnet 的集群模式支持分片、副本复制以及动态键迁移来再平衡负载。建集群和日常管理用的是标准 Redis 集群命令节点之间靠 gossip 同步状态。有一个边界要留意它是被动集群不做选主需要外部控制面下发集群命令——适合已有托管控制面的场景纯自托管的话这层得自己补上。怎么开始clone 下来按 README 里的步骤构建即可git clone https://gitcode.com/GitHub_Trending/garnet4/garnet仓库里的 main/GarnetServer/ 给了一个带自定义命令示例的可运行服务器libs/client/ 是配套的 C# 客户端benchmark/ 则是完整压测框架想验证性能差异可以直接复现。更多配置和进阶内容见 website/docs/getting-started/。如果你现在跑的就是 Redis只想把吞吐和延迟拉起来又不想动业务代码Garnet 是目前最值得评估的升级方向之一。【免费下载链接】garnetGarnet is a remote cache-store from Microsoft Research that offers strong performance (throughput and latency), scalability, storage, recovery, cluster sharding, key migration, and replication features. Garnet can work with existing Redis clients.项目地址: https://gitcode.com/GitHub_Trending/garnet4/garnet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考