如何在Windows上部署Redis集群和SpringBoot进行整合

时间:2023-03-08 16:46:27

一、安装Redis的Windows版本并进行配置

(1)下载链接

https://github.com/microsoftarchive/redis/releases

(2)将下载后的Redis复制成6份(3主3从集群。官方推荐最低的配置了)

文件名自定义,这里我改成和端口名一样

如何在Windows上部署Redis集群和SpringBoot进行整合

点进去每个文件夹,修改每个Redis的 redis.windows.conf 配置文件,

 port 6380  # 6380,6381,6382,6383,6384,6385
cluster-enabled yes
cluster-config-file nodes-6380.conf # 和端口名一样
cluster-node-timeout 5000
appendonly yes

端口你自己决定,比如默认是从6379开始,你可以依次6379,6380,6381,6382,6383,6384,这里我是从6380开始的。

注意这里的 cluster-config-file 的文件名结尾和端口名一样。

另外如果项目里配置的redis地址用电脑ip的话,需要在 redis.windows.conf 配置文件里更改一下默认绑定的ip,改掉默认bind 127.0.0.1为bind 0.0.0.0,这样的话redis就可以供别的机器访问了。(就算是在本机进行尝试,最好也改成0.0.0.0,采用默认的127.0.0.1可能会报错。

(3)创建 start.bat 启动文件

在每个Redis文件夹下创建一个名为 start.bat 的文件,内容为

 title redis-6380  # 跟该Redis设置的端口一样  6380,6381,6382,6383,6384,6385
 redis-server.exe redis.windows.conf

用来后面双击启动Redis,这样比较方便。

如何在Windows上部署Redis集群和SpringBoot进行整合

二、安装Ruby并配置环境

(1)安装Ruby

Redis的集群使用 Ruby 脚本编写,所以系统需要有 Ruby 环境 ,下载地址

https://rubyinstaller.org/

安装时记得勾选设置环境变量,在cmd下查看安装结果

如何在Windows上部署Redis集群和SpringBoot进行整合

切换到每个Redis目录下,在cmd中执行

 gem install redis

安装Redis

(2)安装文件 redis-trib.rb

因为需要 redis-trib.rb 这个文件来进行集群管理,而window版本下载后没有这个文件,所以需要我们再去下载 linux版本的redis(https://github.com/ServiceStack/ServiceStack.Redis/releases),然后在src文件夹下拿到 redis-trib.rb,复制粘贴到我们自己的Redis文件夹下,位置随意,这里我放在 6380 这个文件夹下。

注意,选择下载的linux的Redis版本,不要下最新的,而是应该和自己的windows的Redis版本一样,例如我这里的Redis是3.2.1版本,我就去下载linux对应的3.2.1版本的Redis,因为好像从5开始以上的版本,启动集群命令都不一样了。

如何在Windows上部署Redis集群和SpringBoot进行整合

(3)启动集群

双击之前每个Redis文件夹下我们创建的 start.bat 文件,启动每个Redis。

然后在cmd下切换到 redis-trib.rb 文件所在的目录下,执行下面命令

ruby redis-trib.rb create --replicas 1 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384,127.0.0.1:6385

效果图

如何在Windows上部署Redis集群和SpringBoot进行整合

(4)测试

打开cmd,执行命令 redis-cli –c –h ”地址” –p "端口号" ;  c 表示集群

然后执行命令 cluster info

如何在Windows上部署Redis集群和SpringBoot进行整合

输入命令 info replication

如何在Windows上部署Redis集群和SpringBoot进行整合

输入命令 cluster nodes,查看各个集群分配的槽点

如何在Windows上部署Redis集群和SpringBoot进行整合

接下来,你可以选择关闭其中一个master节点,例如刚刚上面说的6383端口那个,然后在6380那个端口下重新输入 info replication,会发现它的角色从 slave 变成了 master,而 slave 为 0,再重新双击 start.bat 启动6383,会发现它成为了6380的slave了。是不是很酷 :)

三、整合 SpringBoot

(略,有空再写,觅食去了....)