1、redis下载 github.com/tporadowski…
2、解压修改配置文件redis.windows.conf
(1)指定port和密码requirepass,注意顶格
(2)bind修改为0.0.0.0
(3)关闭安全模式, protected-mode修改为no
3、cmd启动,redis目录下启动cmd,指定启动加载配置文件
redis-server.exe redis.windows.conf
4、安装为服务后启动
redis-server.exe --service-install redis.windows.conf --service-name redis6380
5、cmd登录或使用Redis Desktop Manager桌面管理端
redis-cli.exe -h 127.0.0.1 -p 6380 -a password
或者密码验证 auth ***
数据类型 www.runoob.com/redis/redis…
String: 1-1 get 、set
Hash:有序 1-n-n hmset 、hget、HGETALL key
list: 1-n lpush 、lrange * 0 n
set: 1-n sadd key member 、smembers key
zset:有序 1-n zadd key score member 、ZRANGEBYSCORE runoob 0 1000
6、主从配置,复制两份redis文件夹,修改一下配置项
port *** #从库自己的端口
slaveof 127.0.0.1 6380 #主库对应的ip和端口
masterauth *** #主redis的密码
从库也安装为服务
redis-server.exe --service-install redis.windows.conf --service-name redis6381
redis-server.exe --service-install redis.windows.conf --service-name redis6382
(一份redis文件也可以创建多个redis示例www.pianshen.com/article/797… )
7、在服务中先启动主库6380,再启动从库,redis连接后在主库修改数据,看从库是否有对应改变
8、哨兵配置 主从库redis各目录下新建哨兵配置文件sentinel26380.conf,填入以下配置,只需要修改一下哨兵对应的port和文件名
# 配置 sentinel 端口号
port 26380
# 以守护进程启动
daemonize yes
# 绑定只在本地使用
bind 127.0.0.1
# 日志文件名称
logfile "sentinel.log"
# 日志文件存放地址
dir "./"
# 监控 master 名字叫做 mymaster,地址是 127.0.0.1 端口号是 6380,1 表示有几个 sentinel 认为该 master 出现故障,触发主备切换动作
sentinel monitor mymaster 127.0.0.1 6380 2
# 指定多少毫秒之后 主节点没有应答哨兵sentinel 此时 哨兵主观上认为主节点下线 默认30秒
sentinel down-after-milliseconds mymaster 30000
# 主备切换时,多少个从服务器同步更新数据,数值越小越好
sentinel parallel-syncs mymaster 1
# 故障转移的超时时间 failover-timeout 可以用在以下这些方面:
#1. 同一个sentinel对同一个master两次failover之间的间隔时间。
#2. 当一个slave从一个错误的master那里同步数据开始计算时间。直到slave被纠正为向正确的master那里同步数据时。
#3.当想要取消一个正在进行的failover所需要的时间。
#4.当进行failover时,配置所有slaves指向新的master所需的最大时间。不过,即使过了这个超时,slaves依然会被正确配置为指向master,但是就不按parallel-syncs所配置的规则来了
# 默认三分钟
sentinel failover-timeout mymaster 180000
# 设置连接master和slave时的密码,注意的是sentinel不能分别为master和slave设置不同的密码,因此master和slave的密码应该设置相同
sentinel auth-pass mymaster 123456
9、各目录下cmd将哨兵安装为服务,并启动
redis-server --service-install sentinel26380.conf --service-name sentinel26380 --sentinel
redis-server --service-install sentinel26381.conf --service-name sentinel26381 --sentinel
redis-server --service-install sentinel26382.conf --service-name sentinel26382 --sentinel
10、登录到哨兵服务,查看哨兵信息,主库端口为6380
F:\Soft\Redis-x64-5.0.10>redis-cli -p 26380
127.0.0.1:26380> info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=127.0.0.1:6380,slaves=2,sentinels=3
11、停止主库服务,等待30s后,再次查询哨兵状态,发现主库已经切换到端口6381,此时在6381对应的redis修改数据,可以看到6382数据对应改变,证明6381确实切换到主库。
127.0.0.1:26380> info sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=127.0.0.1:6381,slaves=2,sentinels=3
12、重启原有主库6380,再对当前主库6381进行修改数据,发现6380数据没有改,而6382数据对应改变,如果想要6380作为新主库的从库,需要对6380配置本身的密码:masterauth (6380本身的密码)