如何在Windows上部署Redis集群和SpringBoot进行整合
一、安装Redis的Windows版本并进行配置
(1)下载链接
https://github.com/microsoftarchive/redis/releases
(2)将下载后的Redis复制成6份(3主3从集群。官方推荐最低的配置了)
文件名自定义,这里我改成和端口名一样
点进去每个文件夹,修改每个Redis的 redis.windows.conf 配置文件,
1 port 6380 # 6380,6381,6382,6383,6384,6385 2 cluster-enabled yes 3 cluster-config-file nodes-6380.conf # 和端口名一样 4 cluster-node-timeout 5000 5 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 的文件,内容为
1 title redis-6380 # 跟该Redis设置的端口一样 6380,6381,6382,6383,6384,6385
2 redis-server.exe redis.windows.conf
用来后面双击启动Redis,这样比较方便。
二、安装Ruby并配置环境
(1)安装Ruby
Redis的集群使用 Ruby 脚本编写,所以系统需要有 Ruby 环境 ,下载地址
安装时记得勾选设置环境变量,在cmd下查看安装结果
切换到每个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开始以上的版本,启动集群命令都不一样了。
(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
效果图
(4)测试
打开cmd,执行命令 redis-cli –c –h ”地址” –p "端口号" ; c 表示集群
然后执行命令 cluster info,
输入命令 info replication
输入命令 cluster nodes,查看各个集群分配的槽点
接下来,你可以选择关闭其中一个master节点,例如刚刚上面说的6383端口那个,然后在6380那个端口下重新输入 info replication,会发现它的角色从 slave 变成了 master,而 slave 为 0,再重新双击 start.bat 启动6383,会发现它成为了6380的slave了。是不是很酷 :)
三、整合 SpringBoot
(略,有空再写,觅食去了....)