redis版本为 Redis-x64-3.0.504.msi 属于一键安装的版本 服务里面会自动生成Redis服务 非常方便
两台服务器分别为主节点1 从节点2 此处命名为 节点1 节点2
我是从本地测试的 手机开热点 节点1的电脑ip是 192.168.103.173 节点2 的电脑ip是192.168.103.2
打开节点1的 redis.windows-service.conf配置文件 修改 slave-read-only 为 no 打开集群配置
bind 192.168.103.173 127.0.0.1 后面可以跟多个ip 第一个为节点1的ipv4地址 第二个为本地地址
因为我们的redis版本自带服务,, 跟zip包那种不一样 还需要用命令生成服务来 如果你是zip版本的redis 可以尝试以下命令 来增加自动启动服务
新增服务:redis-server.exe --service-install redis.windows.conf --loglevel verbose --service-name redis_master
删除服务:redis-server.exe --service-uninstall --service-name redis_master
redis.windows.conf 和 redis.windows-service.conf 文件都可以 最好都同步修改了 后者为自带的服务启动需要的
下面是从节点2的配置修改
bind 192.168.103.2 127.0.0.1
#主节点
slaveof 192.168.103.173 6379
从节点2增加了 节点1的配置信息 ,, 这步非常重要 它需要知道主节点是谁
由此redis的配置就完成了 你可以从服务里面重启服务.. 然后 你发现 当你在节点1redis里面增加一个key之后 ,, 从节点里面 也会同步出现,,,
节点1截图
节点2截图
但是 节点2修改后并不会同步到主节点 这是为什么.. 我搜了一下
好像是redis的某种机制,, 认为这样比较好 那就这样吧,, 反正 主服务器宕机后 从服务器能保留主服务器的数据就好了... 日常还是以主服务器为常用服务器就好了...
下面 是哨兵文件的配置,,,, 都需要放在redis的安装目录里面
主节点1增加配置文件 sentinel.conf 内容为
#当前Sentinel服务运行的端口
port 26379# 指定主节点的下线时间(毫秒)
sentinel monitor mymaster 192.168.103.173 6379 2# 指定 Sentinel 认为主节点不可用后,多久进行故障转移(毫秒)
sentinel down-after-milliseconds mymaster 5000# 指定 Sentinel 向其他 Sentinel 和 Redis 实例发送心跳的间隔时间(毫秒)
sentinel failover-timeout mymaster 10000
redis-sentinel-start.bat 内容为
@echo off
title redis-sentinel-26379
redis-server.exe sentinel.conf --sentinel
@pause
从节点2增加配置文件 sentinel.conf 内容为
#当前Sentinel服务运行的端口
port 26380# 指定主节点的下线时间(毫秒)
sentinel monitor mymaster 192.168.103.173 6379 2# 指定 Sentinel 认为主节点不可用后,多久进行故障转移(毫秒)
sentinel down-after-milliseconds mymaster 5000# 指定 Sentinel 向其他 Sentinel 和 Redis 实例发送心跳的间隔时间(毫秒)
sentinel failover-timeout mymaster 10000
redis-sentinel-start.bat 内容为
@echo off
title redis-sentinel-26380
redis-server.exe sentinel.conf --sentinel
@pause
这两个文件目前我不知道有什么用处 ,, 不启动这两个bat文件 现在也能实现redis数据同步 ..
问了一下, 说的有点东西,, 但是为了减少复杂度 还是算了,, 我就没配置这俩文件 如果你们觉得需要 也可以 配置上去..
注意注意注意............. 哨兵配置文件十分有用 可用于 redsi停止恢复后自动同步redis数据 经测试十分有用.. 一定要加上