微软开源的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:\Users\Administrator\Downloads\garnet-1.0.0\main\GarnetServer 直接执行命令: RUN dotnet publish -c Release -o /app -r win-x64 --self-contained false -f net8.0 会在:C:\app 产生安装文件, 二进制的文件为:GarnetServer.exe 注意配置文件的模板为: C:\Users\Administrator\Downloads\garnet-1.0.0\libs\host\defaults.conf 比较重要的需要改的参数有: "Port" : 3278, "AuthenticationMode" : "Password", "Password" : "Yourpassword", 注意复制过来之后,直接修改就可以了 执行命令为: 在 C:\app 执行 GarnetServer.exe --config-import-path garnet.conf 注意我本地的配置文件就是: C:\app\garnet.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的简单对比的详细内容,更多相关资料请阅读主机测评网其它文章!
本文由主机测评网发布,不代表主机测评网立场,转载联系作者并注明出处:https://zhujiwo.jb51.net/yunwei/9471.html
