• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

在Windows上搭建Redis集群(基于Ruby)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1)安装Redis

本教程使用:Redis-x64-3.2.100

下载地址:https://github.com/MicrosoftArchive/redis/releases

解压安装,并且复制6份,使用3主3从模式,将安装包名称修改为各自的端口名称

 

2)修改配置

找到redis配置文件redis.windows.conf,修改内容如下,注意每个reids都要修改:

port 7000 # 端口号,主:7000、7001、7002,从:8000、8001、8002
cluster-enabled yes # 是否启动集群
cluster-config-file nodes-6379.conf # 该节点的配置信息,这里使用 nodes-端口.conf命名方法,服务启动后会在目录生成该文件
cluster-node-timeout 15000 # 连接时间
appendonly yes # 开启AOF模式

 

在每个redis下新建一个启动脚本,名称为startup.bat,内容如下:

title redis-7000 # title命名规则,redis-相对应的端口
redis-server.exe redis.windows.conf

 

3)安装Ruby

redis的集群使用Ruby脚本编写,所以系统需要有Ruby环境

下载地址:https://rubyinstaller.org/downloads/

直接选择安装地址,下一步安装,本教程安装在redis集群的同级目录下

 

4)安装Rubygems

安装Redis的Ruby驱动redis-xxxx.gem,下载zip格式文件,解压到指定目录下

下载地址:https://rubygems.org/pages/download

cmd进入到D:\Redis\redis_cluster\rubygems-3.1.4,即驱动文件夹下,执行ruby setup.rb;

然后cmd进入到D:\Redis\redis_cluster\7000,即任意一个主redis目录下,执行gem install redis

 

5)下载集群脚本

下载地址:https://github.com/beebol/redis-trib.rb

将redis-trib.rb放入到集群目录下,其实可以放到任意目录

执行startup.bat脚本启动所有的redis,cmd进入D:\Redis\redis_cluster,即redis-trib.rb所在目录,执行命令:

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:8000 127.0.0.1:8001 127.0.0.1:8002

--replicas 1 表示每个主数据库拥有从数据库个数为1。master节点不能少于3个,所以我们用了6个redis。

 

注意:如果出现 redis-trib.rb is not longer available!  如果redis版本是5.0以上,则应该使用如下命令:

redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:8000 127.0.0.1:8001 127.0.0.1:8002 --cluster-replicas 1

原因是redis5.0以上不再需要redis-trib.rb了,而是使用自带的redis-cli作为创建集群的命令了。

 

6)集群测试

由于每次一个一个启动太浪费时间,所以在D:\Redis\redis_cluster目录下创建一键启动脚本start.bat:

@echo off
start /d "D:/Redis/redis_cluster/7000" startup.bat
start /d "D:/Redis/redis_cluster/7001" startup.bat
start /d "D:/Redis/redis_cluster/7002" startup.bat
start /d "D:/Redis/redis_cluster/8000" startup.bat
start /d "D:/Redis/redis_cluster/8001" startup.bat
start /d "D:/Redis/redis_cluster/8002" startup.bat
pause

 

启动所有redis之后,cmd进入7000端口的redis,进入客户端

redis-cli -c -h localhost -p 7000

 

查看集群的信息,命令:cluster info

 

查看主从关系,命令:info replication

进入从redis执行该命令,可以查看从redis相关信息

 

查看各个节点分配slot,命令cluster nodes

 

Redis集群数据分配策略:

采用一种叫做哈希槽 (hash slot)的方式来分配数据,redis cluster 默认分配了 16384 个slot,当我们set一个

key 时,会用CRC16算法来取模得到所属的slot,然后将这个key分到哈希槽区间的节点上,具体算法就是:

CRC16(key) % 16384

注意的是:必须要3个以上的主节点,否则在创建集群时会失败,三个节点分别承担的slot 区间是:

节点A覆盖0-5460

节点B覆盖5461-10922

节点C覆盖10923-16383

 

测试存储,可以看到test存储到了7001,test1存储到了7000,并且从库也进行了数据存储

 

至此,Redis集群搭建完成,在项目中进行配置即可使用

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
男人眼泪中的Ruby(三)发布时间:2022-07-14
下一篇:
ruby的继承到底可以继承哪些东西发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap