快速部署 微软开源的 Garnet 键值数据库

快速部署 微软开源的 Garnet 键值数据库

Garnet 是 Microsoft Research 推出的一种新型远程缓存存储,其设计速度极快、可扩展且延迟低。 Garnet 在单个节点内是线程可扩展的。它还支持分片集群执行、复制、检查点、故障转移和事务。它可以在主内存以及分层存储(例如 SSD 和 Azure 存储)上运行。 Garnet支持丰富的API接口和强大的可扩展性模型。

Garnet 使用 Redis 的 RESP 作为其主要线路协议。因此,人们可以将 Garnet 与大多数编程语言中可用的未经修改的 Redis 客户端一起使用,例如 C# 中的 StackExchange.Redis。与其他开源缓存存储相比,您可以获得更好的性能、延迟、可扩展性和耐用性功能。

下载二进制包

下载地址:https://github.com/microsoft/garnet/releases

选择 win-x64-based-readytorun.zip

解压后,如果系统未安装 .NET8 运行时,则运行时会报错。

复制代码
C:\Users\chenjing\Desktop\win-x64-based-readytorun>.\GarnetServer.exe
You must install .NET to run this application.

如果只是想在本地做测试,不想部署 .NET 8,可以使用下面介绍的 Garnet Assistant 软件,它是 Garnet GUI管理软件,并且自带一个最新版的 Garnet 服务,可以非常方便的进行本地测试。

这时我们需要先去安装 .NET8,下载地址:https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0

选择.NET 运行时 8.x

运行

安装好 .NET 后,下一步就可以直接运行了:

复制代码
PS C:\Users\chenjing\Downloads\win-x64-based-readytorun> .\GarnetServer.exe
    _________
   /_||___||_\      Garnet 1.0.5 64 bit; standalone mode
   '. \   / .'      Port: 3278
     '.\ /.'        https://aka.ms/GetGarnet
       '.'

* Ready to accept connections

上面运行的Garnet未指定配置文件,所以使用的全部都是默认配置,默认配置文件参考Github,地址为:https://github.com/microsoft/garnet/blob/main/libs/host/defaults.conf

如果你要修改Garnet启动时的配置,例如端口号,绑定的IP地址等,可以复制一份默认配置,然后修改里面的对应配置项,最后在启动Garnet的时候指定配置文件即可。例如:

复制代码
.\GarnetServer.exe --config-import-path .\my-defaults.conf

验证

我们可以使用任意的Redis客户端软件连接进行测试(Garnet和大部分Redis命令是兼容的),这里推荐一个Redis GUI软件,Redis Assistant,下载地址:https://www.redisant.cn/

当然,也有Garnet专用的管理软件,Garnet Assistant,下载地址:https://www.redisant.cn/garnet

下面是使用 Garnet Assistant 连接后的效果

如果只是想在本地做测试,不想部署 .NET 8,可以使用 Garnet Assistant 自带的 Garnet 服务,在连接页选择 Garnet Server 按钮,然后设置端口号,点击启动按钮即可。

相关推荐
程序员三明治3 小时前
选 Redis Stream 还是传统 MQ?队列选型全攻略(适用场景、优缺点与实践建议)
java·redis·后端·缓存·rocketmq·stream·队列
梦子yumeko10 小时前
第五章Langchain4j之基于内存和redis实现聊天持久化
数据库·redis·缓存
半旧夜夏10 小时前
【分布式缓存】Redis持久化和集群部署攻略
java·运维·redis·分布式·缓存
哦你看看14 小时前
Redis Sentinel哨兵集群
linux·redis·bootstrap·sentinel
陈果然DeepVersion16 小时前
Java大厂面试真题:Spring Boot微服务+Kafka消息队列+AIGC场景实战问答全解析
spring boot·redis·微服务·kafka·消息队列·aigc·java面试
小丁爱养花18 小时前
Redis - set & zset (常用命令/内部编码/应用场景)
数据库·redis·缓存
大G的笔记本20 小时前
用 Redis 的 List 存储库存队列,并通过 LPOP 原子性出队来保证并发安全案例
java·数据库·redis·缓存
緣木求魚21 小时前
redis事务与Lua脚本
数据库·redis·lua
切糕师学AI1 天前
C# 使用 CSRedisCore指南
redis·c#·.net core
代码哈士奇1 天前
Nestjs+nacos+kafka搭建中后台系统-后端(持续更新中)
redis·分布式·微服务·nacos·kafka·nestjs·pgsql