主机测评网微软开源的Garnet(替代Redis)如何安装使用,与Redis区别对比
作为微软的新开源项目,Garnet无疑为开发者社区带来了新的可能性。它的出现并非要取代Redis,而是提供了一个与Redis兼容的、具有一些独特优势的选择。对于开发者来说,Garnet的出现无疑为他们提供了更多的选择,而这对于开源社区的发展来说,无疑是一件好事。如果你正在寻找一个Redis的替代方案,那么Garnet可能是一个不错的选择。
前言
Redis不再开源,后续使用3月20日以后的版本需要遵守新的协议。协议详情可以参考:
https://github.com/redis/redis?tab=License-1-ov-file#readme
以下是协议内容部分截图:

微软在redis即将闭源的情况下,开源了它的一款替代性项目产品,叫garnet,兼容redis的所有操作方式和通讯协议。并且采用MIT开源协议。项目地址:
https://github.com/microsoft/garnet
安装方式
官网上面其实没有写如何安装garnet的 很多人见识用nuget的方式进行安装 我这边简单尝试了下也没看出来怎么用exe 没办法 只能学习 dockerfile 里面的内容在windows上面进行编译.
下载地址
https://codeload.github.com/microsoft/garnet/tar.gz/refs/tags/v1.0.0 需要注意里面的内容由多个 DOCKFILE 是很好的指导文件 需要再次说明的事,garnet 是基于.net开发的程序 编译必须有dotnet sdk 运行应该至少有 dotnet 的 runtime 为了简单期间, 这边都使用 dotnet sdk的方式 下载地址为: https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0
编译安装
必须先安装 dotnet sdk 然后查看 tar.gz 包里面的dockfile进行学习 Linux上面的为: WORKDIR /source/main/GarnetServer RUN dotnet publish -c Release -o /app --self-contained false -f net8.0 Windows上面的为: WORKDIR /source/main/GarnetServer RUN dotnet publish -c Release -o /app -r win-x64 --self-contained false -f net8.0 下载好tar包之后, 进入目录比如我这边: C:UsersAdministratorDownloadsgarnet-1.0.0mainGarnetServer 直接执行命令: RUN dotnet publish -c Release -o /app -r win-x64 --self-contained false -f net8.0 会在:C:app 产生安装文件, 二进制的文件为:GarnetServer.exe 注意配置文件的模板为: C:UsersAdministratorDownloadsgarnet-1.0.0libshostdefaults.conf 比较重要的需要改的参数有: "Port" : 3278, "AuthenticationMode" : "Password", "Password" : "Yourpassword", 注意复制过来之后,直接修改就可以了 执行命令为: 在 C:app 执行 GarnetServer.exe --config-import-path garnet.conf 注意我本地的配置文件就是: C:appgarnet.conf 可以使用 redis-cli 进行链接 也可以使用 redis-benchmark 进行简单测试. 需要说明我下面的对比是 redisWin7.0.5 的版本和 Garnet1.0.0的版本
Redis-benchmark
|
测试项目 |
garnet on windows |
时延 |
redis on Windows |
时延 |
|
PING_INLINE |
41876 |
0.612 |
56465 |
0.638 |
|
PING_MBULK |
42034 |
0.610 |
58685 |
0.475 |
|
SET |
40128 |
0.643 |
55005 |
0.735 |
|
GET |
41050 |
0.626 |
55617 |
0.528 |
|
INCR |
42936 |
0.603 |
55865 |
0.593 |
|
LPUSH |
43159 |
0.600 |
54141 |
0.651 |
|
SADD |
40306 |
0.637 |
53163 |
0.801 |
|
HSET |
42354 |
0.608 |
57770 |
0.704 |
garnet的时延好像的确表优秀一点但是跟redis比 他的吞吐量感觉还是稍微差一些.
可能是我选择的benchmark工具有问题, 但是也说明了一些问题.
garnet 还是需要优化的. 不知道产品兼容性如何.
兼容性
需要注意的是,Garnet虽然兼容Redis的RESP协议,但并不是完全兼容Redis的所有功能。在使用Garnet时,开发者需要注意一些细节,例如Garnet不支持Redis的一些命令、数据结构和特性,这可能会对一些应用场景造成影响。因此,在使用Garnet时,开发者需要根据自己的实际需求进行选择。具体的兼容性问题,可以参考Garnet的官方文档关于兼容性的描述。
总结
以上就是微软的Garnet的安装学习以及与Redis的简单对比的详细内容,更多相关资料请阅读主机测评网其它文章!