【Azure Redis 缓存】Windows版创建 Redis Cluster 实验 (精简版)
简介
学习Redis Cluster的第一步,即本地搭建Redis Cluster。但是在Redis的官方文档中,是介绍在Linux系统中搭建Redis Cluster。本文主要介绍在Windows系统中如何快速创建一个3主/3从的Redis Cluster(Redis集群)。
准备工具
1)在GitHub中下载由Microsoft发布的Windows版Redis文件(当前最新版本为3.2.100, 下载ZIP文件,解压后双击 redis-server.exe 就可以启用一个单机的Reids服务)。下载地址:https://github.com/MicrosoftArchive/redis/releases
2)Redis 3版本需要使用 redis-trib.rb create 来执行集群的创建工作,也需要从Github中下载 redis-trib.rb文件(如无法下载,可在本文的附录中复制)。下载地址:https://raw.githubusercontent.com/MSOpenTech/redis/3.0/src/redis-trib.rb
3)Ruby 运行环境(因为redis-trib.rb是Ruby语言编写,所以需要在Windows本机中安装Ruby运行环境)。下载地址:https://rubyinstaller.org/downloads/
4)Ruby Redis驱动Redis gem。下载地址:https://rubygems.org/gems/redis/versions/4.5.1
For Redis version 3 or 4, there is the older tool called
redis-trib.rb
which is very similar. You can find it in thesrc
directory of the Redis source code distribution. You need to installredis
gem to be able to runredis-trib
.Source: https://redis.io/topics/cluster-tutorial#creating-the-cluster
第一步:准备Redis配置文件(redis.conf)
创建 cluster_test文件夹,这次实验使用7000,7001,7002,7003,7004,7005 这六个端口。
- mkdir cluster-test
- cd cluster-test
- mkdir 7000 7001 7002 7003 7004 7005
分别创建好这个6个子文件夹后,创建redis.conf文件,把下面最基本的配置文件内容分别放在在这六个文件夹中
- port 7000
- cluster-enabled yes
- cluster-config-file nodes.conf
- cluster-node-timeout 5000
- appendonly yes
注: 每个子文件夹中的端口需要对应修改为7001,... 7005。
最终效果为:
第二步:分别启动6个Redis
复制redis-server.exe文件到cluster-test中,然后打开6个CMD窗口,分别进入到7000, ... 7005 目录中。运行启动Redis Service命令
- ..\redis-server .\redis.conf
注:需要在6个CMD中对7000,7001,7002,7003,7004,7005 启动Reids Server
第三步: 安装Ruby运行环境
双击安装即可,所有选项保持默认。
第四步:安装Redis的驱动 Redis gem
复制 redis-4.5.1.gem 文件到Ruby的安装目录,运行 gem install --local C:\Ruby30-x64\redis-4.5.1.gem ,等待安装成功。
第五步:redis-trib.rb create 创建集群
把下载的redis-trib.rb文件放在cluster_test目录中,CMD窗口进入 cluster_test 目录,执行 redis-trib.rb create
- redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
当从日志中看见 [OK] All 16384 slots covered
日志,表示集群创建完成。表示至少一个主节点可以对16384个槽(slots)提供服务了。
创建动画图:
测试验证
使用 redis-cli.exe 工具(包含Redis的下载ZIP文件中)可以非常容易的查看Cluster Node信息和 Set, Get Key
- redis-cli.exe -c -p 7000
- redis 127.0.0.1:7000> set foo bar
- -> Redirected to slot [12182] located at 127.0.0.1:7002
- OK
- redis 127.0.0.1:7002> set hello world
- -> Redirected to slot [866] located at 127.0.0.1:7000
- OK
- redis 127.0.0.1:7000> get foo
- -> Redirected to slot [12182] located at 127.0.0.1:7002
- "bar"
- redis 127.0.0.1:7002> get hello
- -> Redirected to slot [866] located at 127.0.0.1:7000
- "world"
使用 cluster nodes查看节点信息:
参考资料
Redis Cluster turorial: https://redis.io/topics/cluster-tutorial#creating-the-cluster
在Windows系统下搭建Redis集群: https://www.cnblogs.com/yy3b2007com/p/11033009.html
【Azure Redis 缓存】Windows版创建 Redis Cluster 实验 (精简版)的更多相关文章
- 高级运维(六):源码安装Redis缓存服务、常用Redis数据库操作指令、配置Redis主从服务器
一.源码安装Redis缓存服务 目标: 本案例要求先快速搭建好一台Redis服务器,并测试该缓存服务器: 1> 设置变量test,值为123 2> 查看变量test的值 3> 设置计 ...
- 【Redis缓存机制】1.Redis介绍和使用场景
(1)持久化数据库的缺点平常我们使用的关系型数据库有Mysql.Oracle以及SqlServer等,在开发的过程中,数据通常都是通过Web提供的数据库驱动来链接数据库进行增删改查. 那么,我们日常使 ...
- Redis学习——Windows环境下Redis的安装(二)
一.说明 之前介绍了Linux环境下Redis的安装,这次介绍一下Windows环境下Redis的安装,首先要讲的是,Redis官方只支持Linux,还好 Microsoft Open Tech gr ...
- 【redis】windows 怎样关闭redis
安装redis之后在命令行窗口中输入 redis-server redis.windows.conf 启动redis关闭命令行窗口就是关闭 redis.---redis作为windows服务启动方式r ...
- [Redis]如何通过Powershell创建Redis服务
目前Redis在中国上线了,不过只是预览版而且不能通过Portal进行操作,不过可以通过Powershell创建,具体如下: 下载最新的Powershell SDK:http://www.window ...
- Windows Azure Redis 缓存服务
8月20日,Windows Azure (中国版)开始提供Redis缓存服务,比较国际版的Microsoft Azure晚了差不多一年的时间.说实话,微软真不应该将这个重要的功能delay这么长时间, ...
- 【Azure Redis 缓存】Azure Redis功能性讨论
关于使用Azure Redis服务在以下九大方面的功能性的解说: 高可用 备份可靠性 配置自动化 部署多样性 快速回档功能 数据扩容 SLA稳定性 数据安全性 监控系统 一:高可用 Azure Cac ...
- 【Azure Redis 缓存】Azure Redis 功能性讨论二
继承上一次讨论了Azure Redis的可用性,可靠性,稳定性,安全性,监控方面的九大功能点.详情可回顾文章:[Azure Redis 缓存]Azure Redis功能性讨论 这次我们继续讨论Azur ...
- 【Azure Redis 缓存】由Azure Redis是否可以自定义密码而引申出Azure PaaS的Redis服务是否可以和自建的Redis进行主从配置呢?
问题描述 在自建的Redis服务中,可以通过 config set requirepass <Password> 设置Redis的登录密码,然后使用auth 命令输入密码.操作命令如下: ...
随机推荐
- ubuntu安装glusterFS
以2台服务器为例: node1: 172.18.1.10 node2: 172.18.1.20 1) 修改主机名,修改hosts文件添加IP地址映射 hostname node1/node2vim / ...
- Spring系列之集成MongoDB的2种方法
MongoDB是最流行的NoSQL数据库,SpringBoot是使用Spring的最佳实践.今天带大家讲一讲SpringBoot集成MongoDB的两种方式,MongoDB的安装自行去官网查询,本地开 ...
- Web GIS 航拍实现的智慧园区数字孪生应用
前言 随着智慧城市建设的不断发展,智慧园区作为智慧城市的先行区,其覆盖区域越来越大,产值越来越集中,对于园区数字化建设和智能化管理的诉求也愈加强烈.园区数字化管理是以实现园区多维度业务数据汇聚.融合. ...
- golang sync.noCopy 类型 —— 初探 copylocks 与 empty struct
问题引入 学习golang(v1.16)的 WaitGroup 代码时,看到了一处奇怪的用法,见下方类型定义: type WaitGroup struct { noCopy noCopy ... } ...
- CodeForce-799B T-shirt buying (STL_set)
有 n 件T恤.第 i 件T恤的价格为 pi .每个T恤有两面,第 i 件T恤正面颜色为 ai ,反面颜色为 bi . 有 m 个人想买T恤,每个人都恰好买一件.第 j 个人最喜欢颜色 cj. 一个人 ...
- 利用滴答定时器(SysTick)实现简单的延时函数
预备知识: 对标准库来说,如果定义了时钟频率,则系统会默认初始化该时钟频率. SysTick是CM4的内核外设,是一个24位的向下递减计数器,每次计数时间是1/SYSCLK,即1/168000000. ...
- HCNP Routing&Switching之路由策略工具Route-Policy
前文我们了解了路由过滤和路由过滤工具Filter-Policy使用相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15316188.html:今天我们来 ...
- javascript 求最大前5个数; 对象 深拷贝 deep copy
* 用数组 function getTopN(a, n) { function _cloneArray(aa) { var n = aa.length, a = new Array(n); for ( ...
- 鸿蒙内核源码分析(并发并行篇) | 听过无数遍的两个概念 | 百篇博客分析OpenHarmony源码 | v25.01
百篇博客系列篇.本篇为: v25.xx 鸿蒙内核源码分析(并发并行篇) | 听过无数遍的两个概念 | 51.c.h .o 任务管理相关篇为: v03.xx 鸿蒙内核源码分析(时钟任务篇) | 触发调度 ...
- AT4518-[AGC032C]Three Circuits【欧拉回路】
正题 题目链接:https://www.luogu.com.cn/problem/AT4518 题目大意 给出\(n\)个点\(m\)条边的一张简单无向联通图,求能否把它分成三个可重复点的环. \(1 ...