快速部署 微软开源的 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 3.0中Treeshaking特性?举例说明一下?

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.是什么 Tree shaking 是一种通过清除多余代码方式来优化项目打包体积的技术,专业术语叫 Dead code eliminat ...

  2. 记录--巧用 overflow-scroll 实现丝滑轮播图

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言: 近期我在项目中就接到了一个完成轮播图组件的需求.最开始我也像大家一样,直接选择使用了知名的开源项目 "Swiper&qu ...

  3. 利用Python 去重聚合Excel数据并对比两份数据的差异

    问题背景 在数据处理过程中,常常需要将多个数据表进行合并,并进行比对,以便找出数据的差异和共同之处.本文将介绍如何使用 Pandas 库对两个 Excel 数据表进行合并与比对,并将结果输出到新的 E ...

  4. Python 合并Excel数据 (Excel文件单sheet)

    一.Python批量合并Excel数据<方法1> import pandas as pd import glob import os # 使用glob.glob函数获取指定目录下所有以.x ...

  5. KingbaseES V8R3数据库运维案例之---不完整的启动包(incomplete startup packet)复现

    案例说明: 在KingbaseES V8R3数据库的sys_log日志中,出现以下故障信息"不完整的启动包(incomplete startup packet)"日志信息.本案例复 ...

  6. PyCharm字体大小快捷键设置(“ctrl+滚轮”实现字体的随时放大和缩小)

    前言:我们在使用PyCharm工具编写Python代码的时候,希望能够随时放大缩小字体,而PyCharm默认是没有设置快捷键的,我们可以自己设置,下面就教大家如何设置. 分为两步设置: PyCharm ...

  7. 北京思特奇2023年校招笔试(Java)

    北京思特奇2023年校招笔试(Java) 1.表达式 (short)10/10.2*2 运算后结果是什么类型? 答案:double,浮点数默认是double,自动类型向上转换为浮点数类型 2. ser ...

  8. Spring框架之IoC( Inversion of Control )基础知识入门

    1.IoC创建对象的方式 使用无参构造创建对象 假如要使用有参构造创建: 下标赋值constructor-arg <!--有参--> <bean id="User" ...

  9. 18 JavaScript中的三元运算

    18 JavaScript中的三元运算 先来看一个例子: let a = 10; let b = 20; let d = a > b? a: b console.log(d); // 20 三元 ...

  10. 《深入理解Java虚拟机》读书笔记:运行时栈帧结构

    代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步. 一.概述 在Java虚拟机规范中制定了虚拟机字节码执行引擎的概念模型,这个概念模型成为各种虚拟机执行引擎的统 ...