专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
ghcr.io/microsoft/garnet

ghcr.io/microsoft/garnet:sha-f571c3d

ghcr.iolinux/amd64sha-f571c3d大小: 未知更新于 2026年5月23日

Garnet

Garnet 是微软研究院推出的新型远程缓存存储,具有以下独特优势:

  • Garnet 采用广受欢迎的 RESP 有线协议作为起点,这使得可以通过当今大多数编程语言中未经修改的 Redis 客户端使用 Garnet,例如 C# 中的 https://github.com/StackExchange/StackExchange.Redis%E3%80%82
  • 与同类开源缓存存储相比,Garnet 在处理大量客户端连接和小批量数据时提供了更高的吞吐量和可扩展性,为大型应用和服务节省成本。
  • 在启用了加速网络的商用云(Azure)VM 上,Garnet 展现出极低的客户端延迟(99.9 百分位通常低于 300 微秒),这对实际场景至关重要。
  • 基于最新的 .NET 技术,Garnet 具有跨平台、可扩展和现代化的特性。其设计易于开发和演进,同时在常见场景下不牺牲性能。我们利用 .NET 丰富的库生态系统扩展 API 广度,并为优化提供了开放机会。得益于对 .NET 的精心使用,Garnet 在 Linux 和 Windows 上均实现了最先进的性能。

本仓库包含构建和运行 Garnet 的代码。如需更多信息和文档,请访问我们的网站:https://microsoft.github.io/garnet%E3%80%82

正在寻找完全托管服务? https://microsoft.github.io/garnet/docs/azure/overview 提供 Garnet 作为完全托管、企业级的缓存解决方案,具备内置高可用性、性能保证和零基础设施管理。

特性摘要

Garnet 实现了广泛的 API,包括原始字符串(如 gets、sets 和键过期)、分析型(如 HyperLogLog 和 Bitmap)以及对象型(如有序集合和列表)操作。它可以通过客户端 RESP 事务以及我们自己的 C# 服务器端存储过程和模块处理多键事务。用户可以在 C# 的便捷性和安全性下,为原始字符串和自定义对象类型定义自定义操作,从而降低开发自定义扩展的门槛。Garnet 还支持 Lua 脚本。

Garnet 使用快速且可插拔的网络层,支持未来扩展(如利用内核旁路堆栈)。它通过 .NET 强大的 SslStream 库支持安全的传输层安全(TLS)通信,并提供基本访问控制。Garnet 的存储层名为 Tsavorite,专为高性能构建,包含强大的数据库特性:线程可扩展性、分层存储支持(内存、SSD 和云存储)、快速非阻塞 checkpoint、恢复、用于持久性的操作日志、多键事务支持以及更好的内存管理和重用。最后,Garnet 支持集群模式,包括分片、复制和动态键迁移。

性能预览

我们在 https://microsoft.github.io/garnet/docs/benchmarking/overview 上展示了一些关键结果,将 Garnet 与领先的开源缓存存储进行比较。

设计亮点

Garnet 的设计重新思考了整个缓存存储堆栈——从网络接收数据包、解析和处理数据库操作到执行存储交互。我们基于多年的 https://microsoft.github.io/garnet/docs/research/papers 构建。以下是 Garnet 的整体架构。

Garnet 的网络层基于共享内存设计,TLS 处理和存储交互在网络 IO 完成线程上执行,避免了常见场景下的线程切换开销。这种方法允许 CPU 缓存一致性将数据传输到处理逻辑,而非传统的基于 shuffle 的网络设计(后者需要将数据移动到服务器上的相应分片)。

Garnet 的存储设计包含两个 Tsavorite 键值存储,它们的命运由统一的操作日志绑定。第一个存储称为“主存储”(main store),针对原始字符串操作优化,通过精心管理内存避免垃圾回收。第二个(可选)“对象存储”(object store)针对复杂对象和自定义数据类型优化,包括有序集合(Sorted Set)、集合(Set)、哈希(Hash)、列表(List)和地理空间(Geo)等常用类型。对象存储中的数据类型利用 .NET 库生态系统实现,在内存中以堆形式存储(使更新非常高效),在磁盘上以序列化形式存储。未来,我们计划研究使用统一索引和日志以简化维护。

Garnet 设计的一个显著特点是其窄腰 Tsavorite 存储 API,该 API 用于在其上实现庞大、丰富且可扩展的 RESP API 表面。此 API 包括读取、更新插入(upsert)、删除和原子读写修改操作,并通过异步回调让 Garnet 在每个操作的各个阶段插入逻辑。我们的存储 API 模型能够将 Garnet 的解析和查询处理关注点与并发、存储分层和 checkpoint 等存储细节清晰分离。Garnet 使用两阶段锁定实现多键事务。

集群模式

除单节点执行外,Garnet 还具有功能完备的集群模式,允许用户创建和管理分片与复制部署。Garnet 还支持高效的动态键迁移方案以重新平衡分片。用户可以使用标准 Redis 集群命令创建和管理 Garnet 集群,节点通过 gossip 协议共享和更新集群状态。Garnet 的集群模式设计目前是被动式的:这意味着它不实现领导者选举,仅响应用户提供的控制平面发出的集群命令;详情参见 https://microsoft.github.io/garnet/docs/cluster/overview#control-plane%E3%80%82

后续步骤

请访问我们的 https://microsoft.github.io/garnet 网站,或直接跳至 https://microsoft.github.io/garnet/docs/getting-started 或 https://microsoft.github.io/garnet/docs/welcome/releases 部分。

许可证

本项目采用 MIT 许可证,详见 LICENSE 文件。

隐私

隐私信息请参见 [***]

贡献

本项目欢迎贡献和建议。大多数贡献要求您同意贡献者许可协议(CLA),声明您有权并实际授予我们使用您贡献的权利。详情请访问 [***]

提交拉取请求时,CLA 机器人将自动确定您是否需要提供 CLA,并相应地标记 PR(例如状态检查、评论)。只需按照机器人提供的说明操作即可。您只需在使用我们 CLA 的所有仓库中执行一次此操作。

本项目已采用 微软开源行为准则。有关更多信息,请参见 行为准则常见问题,或通过 *** 联系我们以获取其他问题或意见。

商标

本项目可能包含项目、产品或服务的商标或徽标。微软商标或徽标的授权使用须遵守 微软商标与品牌指南。在本项目的修改版本中使用微软商标或徽标不得引起混淆或暗示微软的赞助。任何第三方商标或徽标的使用均受第三方政策约束。

Redis 是 Redis Ltd. 的注册商标。其所有权利归 Redis Ltd. 所有。微软对 Redis 的任何使用仅为参考目的,不表示 Redis 与微软之间存在任何赞助、背书或关联关系。

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

Docker 配置

登录仓库拉取

通过 Docker 登录认证访问私有仓库

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

Harbor 镜像源配置

Harbor Proxy Repository 对接专属域名

Portainer 镜像源配置

Portainer Registries 加速拉取

Nexus 镜像源配置

Nexus3 Docker Proxy 内网缓存

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

使用与功能问题

配置了专属域名后,docker search 为什么会报错?

docker search 限制

Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?

站内搜不到镜像

机器不能直连外网时,怎么用 docker save / load 迁镜像?

离线 save/load

docker pull 拉插件报错(plugin v1+json)怎么办?

插件要用 plugin install

WSL 里 Docker 拉镜像特别慢,怎么排查和优化?

WSL 拉取慢

轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?

安全与 digest

第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?

新手拉取配置

轩辕镜像合规吗?轩辕镜像的合规是怎么做的?

镜像合规机制

轩辕镜像支持 docker push 上传本地镜像吗?

不支持 push

错误码与失败问题

docker pull 提示 manifest unknown 怎么办?

manifest unknown

docker pull 提示 no matching manifest 怎么办?

no matching manifest(架构)

镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?

invalid tar header(解压)

Docker pull 时 HTTPS / TLS 证书验证失败怎么办?

TLS 证书失败

Docker pull 时 DNS 解析超时或连不上仓库怎么办?

DNS 超时

docker 无法连接轩辕镜像域名怎么办?

域名连通性排查

Docker 拉取出现 410 Gone 怎么办?

410 Gone 排查

出现 402 或「流量用尽」提示怎么办?

402 与流量用尽

Docker 拉取提示 UNAUTHORIZED(401)怎么办?

401 认证失败

遇到 429 Too Many Requests(请求太频繁)怎么办?

429 限流

docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?

D-Bus 凭证提示

为什么会出现「单层超过 20GB」或 413,无法加速拉取?

413 与超大单层

账号 / 计费 / 权限

轩辕镜像免费版和专业版有什么区别?

免费版与专业版区别

轩辕镜像支持哪些 Docker 镜像仓库?

支持的镜像仓库

镜像拉取失败还会不会扣流量?

失败是否计费

麒麟 V10 / 统信 UOS 提示 KYSEC 权限不够怎么办?

KYSEC 拦截脚本

如何在轩辕镜像申请开具发票?

申请开票

怎么修改轩辕镜像的网站登录和仓库登录密码?

修改登录密码

如何注销轩辕镜像账户?要注意什么?

注销账户

配置与原理类

写了 registry-mirrors,为什么还是走官方或仍然报错?

mirrors 不生效

怎么用 docker tag 去掉镜像名里的轩辕域名前缀?

去掉域名前缀

如何拉取指定 CPU 架构的镜像(如 ARM64、AMD64)?

指定架构拉取

用轩辕镜像拉镜像时快时慢,常见原因有哪些?

拉取速度原因

为什么拉取镜像的 :latest 标签,拿到的往往不是「最新」镜像?

latest 与「最新」

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
ghcr.io/microsoft/garnet
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单。官方公众号:源码跳动。官方技术交流群:51517718。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单。官方公众号:源码跳动。官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.