快速部署 微软开源的 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 按钮,然后设置端口号,点击启动按钮即可。

快速部署 微软开源的 Garnet 键值数据库的更多相关文章

  1. 【干货】快速部署微软开源GPU管理利器: OpenPAI

    [干货]快速部署微软开源GPU管理利器: OpenPAI 介绍 不管是机器学习的老手,还是入门的新人,都应该装备上尽可能强大的算力.除此之外,还要压榨出硬件的所有潜力来加快模型训练.OpenPAI作为 ...

  2. 如何快速部署国人开源的 Java 博客系统 Tale

    除了闷头专研技术之外,程序员还需要不断地写作进行技术积累,写博客是其中最重要的方式之一.商业博客平台不少,但是更符合程序员背景的方案,是自己开发一个博客平台或者使用开源的博客平台. 开源的博客平台多如 ...

  3. 分布式键值存储系统ETCD调研

    分布式键值存储系统ETCD调研 简介 etcd是一个开源的分布式键值存储工具--为CoreOS集群提供配置服务.发现服务和协同调度.Etcd运行在集群的每个coreos节点上,可以保证coreos集群 ...

  4. key-value键值型数据库:Redis

    key-value键值型数据库:Redis redis Redis是in-memory型(内存型)的键值数据库,数据在磁盘上是持久的,键类型是字符串,值类型是字符串.字符串集合(Set).sorted ...

  5. ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目

    ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml)   我们都知道在使用WebApi的时候Controller会自动将Action的返回值自动进行各种序列化处理(序列化为 ...

  6. 使用EditPlus根据指定字符批量换行,快速填充Postman请求参数键值对

    1.当某个.ext格式的文件中的重复格式内容太多时,而又想要根据某个字符进行批量换行时,那么可以使用EditPlus进行批量换行. 在开发过程中就会经常遇到这种问题,比如把Url的请求参数,快速的填写 ...

  7. 以docker方式部署的redis键值查询及清理

    1.首先使用 docker ps 命令来查看正在运行的容器.该命令会列出容器的ID.名称.端口号.状态等信息.也可以使用 docker ps -a 命令来查看所有容器,包括已经停止的容器. docke ...

  8. 微软开源自动机器学习工具NNI安装与使用

    微软开源自动机器学习工具 – NNI安装与使用   在机器学习建模时,除了准备数据,最耗时耗力的就是尝试各种超参组合,找到最佳模型的过程了.对于初学者来说,常常是无从下手.即使是对于有经验的算法工程师 ...

  9. 每秒高达1.6亿次操作的并发键值存储库 FASTER 诞生

    FASTER 在过去十年中,云中的数据密集型应用程序和服务有了巨大的增长.数据在各种边设施(例如,设备,浏览器和服务器)上创建,并由云应用程序处理用来获得数据价值或做出决策.应用程序和服务可以处理收集 ...

  10. 探索etcd,Zookeeper和Consul一致键值数据存储的性能

    这篇博文是探索三个分布式.一致性键值数据存储软件性能的系列文章中的第一篇:etcd.Zookeeper和Consul,由etcd团队所写,可以让我们全面地了解如何评估三个分布式一致存储软件的性能.翻译 ...

随机推荐

  1. 记录--Vue自动生成组件名

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 unplugin-generate-component-name 一款用于以文件夹名或者setup标签写入名字来自动生成Vue组件名的插件 ...

  2. ChatGPT 指令大全

    1.写报告 报告开头 我现在正在 报告的情境与目的 .我的简报主题是 主题 ,请提供 数字 种开头方式,要简单到 目标族群 能听懂,同时要足够能吸引人,让他们愿意专心听下去. 我现在正在修台大的简报课 ...

  3. 【OpenCV】OpenCV (C++) 与 OpenCvSharp (C#) 之间数据通信

      OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux.Windows.Android和Mac OS操作系统上. 它轻量级而且高效--由一 ...

  4. 学生成绩管理--C语言

    # 学生成绩管理系统 效果 1.菜单选项 void welcome()//菜单 { printf("欢迎使用学生管理系统\n"); printf(" 1.增加学生信息\n ...

  5. requests进阶

    requests进阶 三.requests模块处理cookie相关的请求 1 爬虫中使用cookie 为了能够通过爬虫获取到登录后的页面,或者是解决通过cookie的反扒,需要使用request来处理 ...

  6. #并查集,单调栈#美团2018年CodeM大赛-决赛 C-Traffic

    题目 分析 首先如果枚举起点\(i\),点\(i\)到点\(j\)(i<j)的距离跳到点\(k\)(k<i)一定不优,所以可以先处理这种情况, 用单调栈维护\(dp\)单调递增,并且如果栈 ...

  7. #dp#洛谷 5774 [JSOI2016]病毒感染

    题目 分析 此题肯定不是绿题,哪有这么恶心的dp 试想这样的情形:假设当 JYY 第一次抵达村庄 \(i\),未作救治并直接前往了另一个村庄.那么由于 \(i\) 村庄的人们求生心切, 一旦当 JYY ...

  8. TVM 代码生成—TIR to LLVM IR

    本文地址:https://www.cnblogs.com/wanger-sjtu/p/17573212.html TVM在编译过程中,经历了 graph LR A[3rd IR] --> B[R ...

  9. 面向OpenHarmony终端的密码安全关键技术

      本文转载自 OpenHarmony TSC 官方微信公众号<峰会回顾第17期 | 面向OpenHarmony终端的密码安全关键技术> 演讲嘉宾 | 何道敬 回顾整理 | 廖   涛 排 ...

  10. Docker学习路线13:部署容器

    部署容器是使用Docker和容器化管理应用程序更高效.易于扩展和确保跨环境一致性性能的关键步骤.本主题将为您概述如何部署Docker容器以创建和运行应用程序. 概述 Docker容器是轻量级.可移植且 ...