Redis(2)双机备份

一、准备

主从IP:端口
主Redis192.168.100.6:6380
从Redis192.168.100.6:6381


二、主从复制

修改从Redis的配置文件
vi redis.conf

从Redis的配置文件中添加 主Redis的ip和端口号
# slaveof <masterip> <masterport>
#添加
slaveof 192.168.100.6 6380

三、测试主从

先启动 主Redis,再启动 从Redis。其中, 从Redis的启动界面会显示连接到 主Redis,并开始同步。


!!!主Redis可以读写数据,从Redis只能读取数据,不可写入数据




四、哨兵模式

开启Redis哨兵模式,可实现当 主Redis宕机后, 从Redis自动转换为 主Redis,保证Redis系统正常运行。
在redis目录中修改哨兵配置文件
vi sentinel.conf

修改配置文件
protected-mode no
#添加默认主Redis的ip 端口和投票次数(主Redis宕机后,由剩下的从Redis进行投票选举出一个主服务器)
sentinel monitor mymaster 192.168.100.6  6380 1
#哨兵每5s检查Redis集群
sentinel down-after-milliseconds mymaster 5000

启动哨兵
./src/redis-server ./sentinel.conf --sentinel

控制台打印 +slave slave 192.168.100.6:6381 192.168.100.6 6381 @ mymaster 192.168.100.6 6380 即192.168.100.6 6381为 从Redis,192.168.100.6 6380为 主Redis

五、测试哨兵

关闭 主Redis,5秒后,哨兵控制台打印以下代码
65506:X 05 Jul 15:44:34.462 # +switch-master mymaster 192.168.100.6 6380 192.168.100.6 6381
65506:X 05 Jul 15:44:34.462 * +slave slave 192.168.100.6:6380 192.168.100.6 6380 @ mymaster 192.168.100.6 6381
65506:X 05 Jul 15:44:39.497 # +sdown slave 192.168.100.6:6380 192.168.100.6 6380 @ mymaster 192.168.100.6 6381

即将原来的 从Redis192.168.100.6 6381 转换为 主Redis,原来的 主Redis192.168.100.6 6381转换为 从Redis

六、Java通过哨兵访问redis

Set<String> sentinels = new HashSet<String>();
// 添加哨兵IP 端口
sentinels.add("192.168.100.6:26379");
GenericObjectPoolConfig config = new GenericObjectPoolConfig();
config.setMaxTotal(100);
config.setMinIdle(10);
JedisSentinelPool pool = new JedisSentinelPool("mymaster", sentinels,config);
Jedis jedis = null;
jedis = pool.getResource();
jedis.set("name", "456");
String value = jedis.get("name");
System.out.println(value);
jedis.close();
pool.close();


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值