如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Garnet 是微软研究院推出的新型远程缓存存储,具有以下独特优势:
本仓库包含构建和运行 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 和云存储)、快速无阻塞检查点、恢复、操作日志(用于持久性)、多键事务支持以及更优的内存管理和重用。最后,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 的解析和查询处理与存储细节(如并发、存储分层和检查点)。Garnet 使用两阶段锁定实现多键事务。
除单节点执行外,Garnet 还具备全功能集群模式,允许用户创建和管理分片与复制部署。Garnet 支持高效的动态键迁移方案以重新平衡分片。用户可使用标准 Redis 集群命令创建和管理 Garnet 集群,节点通过 gossip 协议共享和更新集群状态。Garnet 的集群模式设计目前为被动式:即不实现 leader election,仅响应由用户提供的控制平面(control plane) 发出的集群命令;详情参见 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 的仓库中完成一次此操作。
本项目已采用 Microsoft 开源行为准则。有关更多信息,请参见 行为准则常见问题,或联系 *** 提出其他问题或意见。
本项目可能包含项目、产品或服务的商标或徽标。Microsoft 商标或徽标的授权使用受 Microsoft 商标与品牌指南 约束并必须遵循该指南。在本项目的修改版本中使用 Microsoft 商标或徽标不得引起混淆或暗示 Microsoft 的赞助。任何第三方商标或徽标的使用均受第三方政策约束。
Redis 是 Redis Ltd. 的注册商标。其所有权利归 Redis Ltd. 所有。Microsoft 对其的任何使用仅为参考目的,不表示 Redis 与 Microsoft 之间存在任何赞助、认可或关联关系。
来自真实用户的反馈,见证轩辕镜像的优质服务