Garnet是微软基于C#开发的Redis兼容缓存组件,需.NET8环境支持,推荐通过Docker镜像部署。部署流程涉及使用境外服务器(如雨云服务器Ubuntu 22.04)规避国内网络限制,通过克隆源码、安装.NET8 SDK、构建及运行命令完成本地编译。重点步骤包括下载源码、执行dotnet安装脚本配置环境变量、执行构建命令生成可执行文件,最终通过指定端口3278验证服务运行状态。成功构建后可直接使用Redis客户端连接,但需注意端口与常规Redis服务差异。测试环节通过键值存储验证功能正常,整个过程约需8核心16G服务器完成编译。
什么是 Garnet
Garnet 是微软使用 C# 编写的 Redis 客户端兼容缓存组件,你可以使用 Redis 客户端的连接方式来连接 Garnet
但是 Garnet 需要 .NET8 运行环境才可以使用,为了便捷性,可以考虑构建成 Docker 镜像
裸机部署
首先,建议使用境外的服务器来构建,避免国内网络环境对安装过程造成影响,本教程使用雨云服务器以及雨云提供的 Ubuntu 22.04 且不预装任何 APP,如果你在安装时遇到了任何问题,可以尝试来雨云 1 元试用一台机子一天,一天的时间足够编译一个 Garnet 出来了,因为涉及到编译操作,这里直接试用一台 8 核心 16G 内存的机子

首先你需要把 Garnet 的源码下载下来
git clone https://github.com/microsoft/garnet.git
之后,你需要安装一个 .NET8 SDK1
首先我们下载微软提供的安装脚本并赋予执行权限
wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
chmod +x ./dotnet-install.sh
执行脚本安装 .NET8 SDK
./dotnet-install.sh --channel 8.0
稍等片刻出现:
Installation finished successfully.
即为安装成功,随后需要设置一个环境变量
export DOTNET_ROOT=$HOME/.dotnet
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
之后执行构建命令即可开始构建
cd garnet
dotnet restore
dotnet build -c Release

稍等片刻即可看到构建成功的提示,这三行的意思分别是
- 构建成功
- 0警告
- 0错误
之后我们试着运行一下它
cd main/GarnetServer
dotnet run -c Release -f net8.0
可以看到已经有红色宝石了,试着连接一下,要注意的是,Garnet 使用的端口是 3278,从 Redis 直接迁移的需要注意一下更改连接方式,但无需更改客户端,直接使用 Redis 的客户端连接即可
创建一个 Key:
成功