1. 首页 > 服务器运维

微软开源的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

联系我们

在线咨询:点击这里给我发消息

Q Q:2220678578