Garnet 代码结构
在下面的列表中,我们将描述 Garnet Visual Studio 解决方案中的 C# 项目以及包含它们的文件夹
- \.azure\pipelines 文件夹
- 描述: 包含用于在 Azure DevOps 中运行 CI/CD 管道的 .yml 文件和其他资源
- \.github\workflows 文件夹
- 描述: 包含用于在 GitHub Actions 中运行 CI/CD 管道的 .yml 文件和其他资源
- \benchmark 文件夹
- BDN.benchmark
- 描述: 使用 BenchmarkDotNet 库的基准测试工具。这是目前用于对不同 Garnet 功能进行基准测试的首选工具。使用命令行 参数 配置您的运行。
- Resp.benchmark
- 描述: 一个向 Garnet 服务器发出 RESP 命令的基准测试工具。有关详细信息,请参阅 Resp 基准测试页面 此处。
- BDN.benchmark
- \charts\garnet 文件夹
- 描述: 包含 Garnet 的 Helm chart。
- \hosting\Windows 文件夹
- Garnet.worker
- 描述: 一个将 Garnet 作为 Windows 服务托管的应用程序。
- Garnet.worker
- \libs 文件夹
- storage\Tsavorite 文件夹
- 描述: Tsavorite 库的解决方案、源代码和测试。
- Garnet.client 项目
- 描述: 可与 Garnet 服务器一起使用但功能有限的客户端。
- Garnet.cluster 项目
- 描述: Garnet 集群实现。
- Garnet.common 项目
- 描述: 网络层实现和用于请求和响应处理的通用工具。
- Garnet.host 项目
- 描述: 实例化 Garnet 服务器的宿主类。
- Garnet.resources 项目
- 描述: 包含可以根据需要动态加载的大型文本资源,以免使 Garnet 二进制文件过载。
- Garnet.server 项目
- 描述: 所有键操作、ACL 命令、检查点、指标、事务、Garnet 服务器 API 以及带 RESP 的存储层实现的 API。
- storage\Tsavorite 文件夹
- \main 文件夹
- GarnetServer 项目
- 描述: 主程序(入口点),通过主机创建 Garnet 服务器可执行文件。
- GarnetServer 项目
- \metrics 文件夹
- HdrHistogram 项目
- 描述: 用于创建高动态范围 (HDR) 直方图的项目,用于绘制不同服务器指标的图表。
- HdrHistogram 项目
- \playground 文件夹
- Bitmap 项目
- 描述: 一个使用 Tsavorite 练习不同位图操作的项目。
- ClusterStress 项目
- 描述: 一个正在进行中的项目,用于对集群模式下的 Garnet 服务器执行压力测试。
- CommandInfoUpdater 项目
- 描述: 一个用于使用本地 RESP 服务器更新 RESP 命令元数据(信息、文档)的工具(有关使用说明,请参阅:添加命令信息)。
- Embedded.perftest 项目
- 描述: 一个绕过网络堆栈向 Garnet 服务器发出 RESP 命令的工具。
- GarnetClientStress 项目
- 描述: 一个对 GarnetClient 库运行压力测试的项目。
- GarnetJSON 项目
- 描述: 一个定义示例 Garnet 模块的库,该模块能够对 JSON 字符串执行操作。
- MigrateBench 项目
- 描述: 一个旨在通过在多个节点之间发出批量迁移请求来测试迁移操作的性能和稳健性的工具。
- SampleModule 项目
- 描述: 一个定义示例 Garnet 模块的库,该模块能够执行自定义命令、事务和过程。
- TstRunner 项目
- 描述: 用于运行键迁移命令的控制台应用程序。
- Bitmap 项目
- \samples 文件夹
- GarnetClientSample 项目
- 描述: 如何使用 GarnetClient 的示例。
- MetricsMonitor 项目
- 描述: 使用 StackExchange.Redis 获取延迟指标的控制台应用程序。
- GarnetClientSample 项目
- \test 文件夹
- Garnet.test 项目
- 描述: Garnet 服务器单元测试项目,包括 RESP 命令的单元测试。
- Garnet.test.cluster 项目
- 描述: 集群单元测试项目。
- testcerts 文件夹
- 描述: 启用 TLS 时用于测试目的的自签名证书。
- Garnet.test 项目
- \website 文件夹
- 描述: Garnet 文档网站的文件。
- root 文件夹
- 描述: Editorconfig 文件、docker 文件等。