链接地址:
String ndoeName = "mymaster"; 是连接sentinel 连接对应的端口号里面的 mymaster
(每个sentinel都是mymaster)
3,test1就是查看一下 主从复制的 主机从机 在Redis可视化工具里面的 数据库的值是不是相同的!!
主机可读写,从机只能读!!!不能写
4,test2里是用代码来实现一个故障转移的 监看测试!!! 循环输出K V
满足判断的时候 分批输出 100个K!
5,我们在后台运行输出的时候 在redis 服务里面 关闭 7002主机!
运行的时候!!!关闭 7002主机
关闭7002的主机
后台因为主机 关掉!!!所以出错!!但是还是正常运行 ,哨兵检测 :故障转移
String ndoeName = "mymaster";
Set<String> sentinel = new HashSet<String>();
sentinel.add("192.168.70.159:26379");
sentinel.add("192.168.70.159:26380");
sentinel.add("192.168.70.159:26381");
JedisSentinelPool sentinelPool = new JedisSentinelPool(ndoeName, sentinel);
把sentinel的信息放入 JedisSentinelPool池里 ,把端口号集合sentinel也放进去! 连接Redis可视化工具
1,在虚拟机里设置好防火墙! Rdis可视化工具连接这个设置好的端口!! 2,在springboot创建 Maven project。
Redis可视化工具连接!!!sentnel 跟Redis端口一样!
package testsentredis;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Random;
import java.util.Set;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisSentinelPool;
/**
* 测试下Sentail的连接
* @author java
*
*/
public class SentTest {
@Test
public void test1() {
String ndoeName = "mymaster";
//重复Set集合
Set<String> sentinel = new HashSet<String>();
sentinel.add("192.168.70.159:26379");
sentinel.add("192.168.70.159:26380");
sentinel.add("192.168.70.159:26381");
JedisSentinelPool sentinelPool = new JedisSentinelPool(ndoeName, sentinel);
System.out.println(sentinelPool);
Jedis jedis = sentinelPool.getResource();
System.out.println(jedis);
jedis.mset("lllll", "lllll");
jedis.select(0);
List<String> mget = jedis.mget("ll", "kk");
System.out.println(mget);
jedis.close();
}
@Test
public void test2() {
String ndoeName = "mymaster";
//重复Set集合
Set<String> sentinel = new HashSet<String>();
sentinel.add("192.168.70.159:26379");
sentinel.add("192.168.70.159:26380");
sentinel.add("192.168.70.159:26381");
JedisSentinelPool sentinelPool = new JedisSentinelPool(ndoeName, sentinel);
//计数器
int count = 0;
while(true) {
Jedis jedis = null;
try {
jedis = sentinelPool.getResource();
jedis.select(0);
int ids = new Random().nextInt(100000);
jedis.set(ids + "k", ids +"v");
//判断
if(count %100 == 0) {
System.out.println(ids + "k");
}
count++;
} catch (Exception e) {
e.printStackTrace();
} finally {
if(jedis != null) {
jedis.close();
}
}
}
}
}