机缘巧合之际,项目本地需要连接redis,所以记录一下在Windows系统从零开始配置Redis-亲测好使!!如有不足之处希望各位大佬多多指教。
下载地址
redis windows版本 地址
链接: https://pan.baidu.com/s/19tCklCYb6qv2gbItTOwSOA 提取码: 3i5w
redis可视化工具地址
链接: https://pan.baidu.com/s/1uTe_7S9aVYhEsMtYfGs8Eg 提取码: qwer
redis 配置
redis下载后 如下:
配置成功之后如图展示:
一共需要配置 3+3+1 =7个配置文件 ;需要配置的文件很多,容我一一道来
这里我采用 1主(master)二从(solve) 三sentinel的配置
master ip: 127.0.0.1 port: 6379
solve ip: 127.0.0.1 port: 6380
solve ip: 127.0.0.1 port: 6381
1.redis.conf配置
修改redis.windows.conf 的配置文件
port 6379
protected-mode no
requirepass "123456" //redis服务密码
复制 redis.windows.conf 文件 ,创建两个redis配置文件分别改名为 redis.windows6380.conf 和redis.windows6381.conf 。修改这两个文件里的的参数分别为
port 6380
slaveof 127.0.0.1 6379 // 设置master服务器为6379
protected-mode no
masterauth "123456"
和
port 6381
slaveof 127.0.0.1 6379 // 设置master服务器为6379
protected-mode no
masterauth "123456"
# 如果 主服务设置密码requirepass , 则从服务要设置 masterauth 配置 。密码和主服务里设置的密码一样。
2.sentinel配置
新建sentinel.conf文件,在文件中先加入一下配置信息
port 26379 //哨兵服务端口号
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 15000
sentinel auth-pass mymaster 123456 // 主服务有密码时加入此行
protected-mode no
复制此文件 ,创建两个文件分别改名为 sentinel26479.conf、sentinel26579.conf
port 26479
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 15000
sentinel auth-pass mymaster 123456
protected-mode no
和
port 26579
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 15000
sentinel auth-pass mymaster 123456
protected-mode no
#sentinel.conf 配置解释
1. port :当前Sentinel服务运行的端口
2.sentinel monitor mymaster 127.0.0.1 6379 2:Sentinel去监视一个名为mymaster的主redis实例,这个主实例的IP地址为本机地址127.0.0.1,端口号为6379,而将这个主实例判断为失效至少需要2个 Sentinel进程的同意,只要同意Sentinel的数量不达标,自动failover就不会执行
3.sentinel down-after-milliseconds mymaster 5000:指定了Sentinel认为Redis实例已经失效所需的毫秒数。当 实例超过该时间没有返回PING,或者直接返回错误,那么Sentinel将这个实例标记为主观下线。只有一个 Sentinel进程将实例标记为主观下线并不一定会引起实例的自动故障迁移:只有在足够数量的Sentinel都将一个实例标记为主观下线之后,实例才会被标记为客观下线,这时自动故障迁移才会执行
4.sentinel parallel-syncs mymaster 1:指定了在执行故障转移时,最多可以有多少个从Redis实例在同步新的主实例,在从Redis实例较多的情况下这个数字越小,同步的时间越长,完成故障转移所需的时间就越长
5.sentinel failover-timeout mymaster 15000:如果在该时间(ms)内未能完成failover操作,则认为该failover失败
3.service.conf配置
#bind 127.0.0.1 //注释掉
protected-mode no
4.启动服务
#分别启动 redis和哨兵服务
//redis
redis-server.exe redis.windows.conf
redis-server.exe redis.windows6380.conf
redis-server.exe redis.windows6381.conf
//sentinel
redis-server.exe sentinel.conf --sentinel
redis-server.exe sentinel26479.conf --sentinel
redis-server.exe sentinel26579.conf --sentinel
有很太lou的一点 就是这样启服务会有6个窗口,后续有时间我可能会优化一下,并且加个脚本启动
5.测试
redis可视化工具使用
redis 可视化工具文章开头有链接~~~~~~嘿嘿
#地址就是主服务的地址,端口也是主服务的端口号,密码如果配置了密码就写,没配置可以不用写
连接之后如图所示,左侧为redis的key 点击在右侧展示value值
连接idea
yml文件redis配置
在此yml配置文件中必须和配置文件中设置的一致,否则idea启动会报错!
好了,简单快速的攒起了redis的一主两从三哨兵。