参考文档:
https://www.cnblogs.com/yaopengfei/p/12418227.html
https://blog.csdn.net/weixin_42694286/article/details/92974535
https://blog.csdn.net/qq_42815754/article/details/82912130
https://blog.csdn.net/u010963948/article/details/78963572
1,配置Redis服务
下载zip格式Redis-x64-3.2.100版本、解压到 D盘根目录,然后复制 6 个配置文件,分别为:6279 ~ 6384
下载目录:https://github.com/MSOpenTech/redis/releases/
主要配置文件中的内容如下:以【redis.windows-service6379.conf】为例,其他几个文件同样如此修改,然后6379端口号也要修改为相对应的数字
bind 192.***.**.** #IP改为服务器对应IP
port 6379 #端口号
appendonly yes #数据的保存为aof格式
appendfilename "appendonly.6379.aof" #数据保存文件
cluster-enabled yes #是否开启集群
cluster-config-file nodes.6379.conf #集群节点配置文件
cluster-node-timeout 15000 #集群节点的超时时间
cluster-slave-validity-factor 10 #校验从节点是否可以进行主从复制,校验10次
cluster-migration-barrier 1 #配置数据转移
cluster-require-full-coverage yes #主从节点全量复制
protected-mode no #默认开启,需要暂时关闭,不然下边无法配置集群,配置完成后再开启
全部修改之后,进行安装服务操作,打开cmd, 切换到Redis目录下,分别执行以下命令进行服务安装:
D:Redis-x64-3.2.100_cluster edis-server.exe --service-install D:Redis-x64-3.2.100_cluster edis.windows-service6379.conf --service-name RedisService6379
D:Redis-x64-3.2.100_cluster edis-server.exe --service-install D:Redis-x64-3.2.100_cluster edis.windows-service6380.conf --service-name RedisService6380
D:Redis-x64-3.2.100_cluster edis-server.exe --service-install D:Redis-x64-3.2.100_cluster edis.windows-service6381.conf --service-name RedisService6381
D:Redis-x64-3.2.100_cluster edis-server.exe --service-install D:Redis-x64-3.2.100_cluster edis.windows-service6382.conf --service-name RedisService6382
D:Redis-x64-3.2.100_cluster edis-server.exe --service-install D:Redis-x64-3.2.100_cluster edis.windows-service6383.conf --service-name RedisService6383
D:Redis-x64-3.2.100_cluster edis-server.exe --service-install D:Redis-x64-3.2.100_cluster edis.windows-service6384.conf --service-name RedisService6384
安装完成以后,打开服务,会看到以下几个服务,然后全部启动它们
启动之后,你会在设置的持续化目录下看到生成了12个文件,我的持续化目录设置在data文件路径下了(默认在根目录下)
2,安装Ruby运行环境
下载Ruby运行环境文件:http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-2.2.4-x64.exe
安装时,注意勾选后两个,让其自动配置环境变量,最终安装在这个这个文件夹中【Ruby22-x64】
3,下载Ruby环境下Redis驱动
下载路径: https://rubygems.org/gems/redis/versions/3.2.2 考虑到兼容性,这里下载的是3.2.2版本
然后将下载的文件:redis-3.2.2.gem 复制 到 Ruby运行环境 的安装目录下
打开cmd,切换到Ruby运行环境的安装目录下,我的安装目录在:C:Ruby22-x64
然后执行命令:gem install --local C:Ruby22-x64 edis-3.2.2.gem
4,下载Redis集群工具 redis-trib.rb
下载路径如下:https://github.com/beebol/redis-trib.rb 下载后解压文件,建议将文件放到 Redis 的根目录下
打开cmd, 切换到Redis目录下,执行命令:
ruby redis-trib.rb create --replicas 1 127.0.0.1:6379 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
这里的 replicas 1,1代表1个master对应1个slave,改为2,则代表1个master对应2个slave
注意:127.0.0.1 是你的配置文件中绑定的IP,如果你配置文件中的 bind 不是127.0.0.1,命令里也要跟着换
如果你遇到下边的错误,参考文档 :https://blog.csdn.net/maoyuanming0806/article/details/103171182
我的报错原因是设置密码了, 解决办法:就是先注释掉密码,等集群全部配置完成之后,再重新开启密码。
可以参考文档:https://blog.csdn.net/xufei512/article/details/82758676
解决一切路障之后,成功的安装驱动:
5,Redis集群密码设置
1,如果是使用redis-trib.rb工具构建集群,集群构建完成前不要配置密码,集群构建完毕再通过config set + config rewrite命令逐个机器设置密码
2,如果对集群设置密码,那么requirepass和masterauth都需要设置,否则发生主从切换时,就会遇到授权问题
3,各个节点的密码都必须一致,否则Redirected就会失败
6,测试
使用客户端连接Redis集群,你会发现只有 db0 这1个数据库,如下图所示:
原因:参考文档:https://blog.csdn.net/yaomingyang/article/details/79094869
1,redis在单机模式下redis.conf配置文件中默认的数据库数量是16个
2,在集群模式下这个配置是不起作用的,集群客户端是不支持多数据库db的,只有一个数据库默认是SELECT 0
3,集群slave从节点默认是不支持读写操作的,但是在执行过readonly命令后可以执行读操作
接下来:在6379这个端口增加一个set 命令
你会发现其他5个所有都会同步增加
集群搭建完成之后,就是使用,如何在项目中使用集群服务,参考文档:
https://blog.csdn.net/u010963948/article/details/78963572