redis 哨兵模式的安装配置和Jedis连接

阅读数:149 评论数:0

跳转到新版页面

分类

应用软件

正文

1、sentinel不会存储数据。

2、客户端不会直接从redis中获取信息,而是从sentinel获取信息。

3、sentinel的默认端口是26379

sentinel中的三个定时任务

1、每10秒会对master、slave执行info,这样可以发现slave节点、确认主从关系。

2、每2秒,每个sentinel之间交换信息,信息中包括当前sentinel节点的信息和它对master、slave做的判断。可以知道有哪些sentinel也在监控之些master-slave。

3、每1秒,每个sentinel会对其他sentinel、master、slave执行ping操作。

 

配置

daemonize yes
dir /app/redis/data
 
logfile "26379.log"
 
# 其中mymaster是监控的这一套master-slave的名字,2是2个sentinel认为master有问题就故障转移
 
sentinel monitor mymaster node1 6379 2
 
# sentinel失去master3万毫秒就认为master有问题了
 
sentinel down-after-milliseconds mymaster 30000    
 
# 每个时间点只有1个slave对新master进行复制,不并发
 
sentinel parallel-syncs mymaster 1 
 
# 故障转移时间
 
sentinel failover-timeout mymaster 180000   

 

Jedis连接

String masterName = "mymaster";
Set<String> sentinelSet =new HashSet<String>();
sentinelSet.add("node2:26379");
sentinelSet.add("node3:26379");
sentinelSet.add("node4:26379");
 
JedisSentinelPool sentinelPool = new JedisSentinelPool(masterName,sentinelSet,poolConfig,timeout);
Jedis jedis = null;
try{
    jedis = sentinelPool.getResource();
}catch(Exception e){
    logger.error(e.getMessage(),e);
}finally{
    if(jedis != null){
        jedis.close();
    }
}



相关推荐

一、redis-cli redis-cli,这个命令将打开redis终端。输入ping命令,如果有pong响应,说明正常启动。 用法:redis-cli [OPTIONS] [cmd [arg [ar

protected-mode是为了禁止公网访问redis,加强redis安全的。它启用的条件,有两个: (1)没有bind IP (2)没有设置访问密码。 <

一、单机模式 1、优点 (1)部署简单 (2)成本低 (3)高性能,因为不需要同步数据 2、缺点 (1)可靠性差 二、主从复制模式 主从模式配置很简单,只需要在从节点配置主节点的ip和端口号即可。

前置知识 1、requirepass验证客户端,对登录权限做限制,redis每个节点的requirepass可以是独立、不同的。 <p

在集群模式下,redis在接收到键任何命令时会先计算该键所在的槽,如果改键所在的槽位于当前节点,则直接执行命令,如果改键位于其它节点,则不执行该命令,返回重定向信息。比如hello这

redis-cli keys "s*" | xargs redis-cli del 另外还可以用-n指定操作的数据库编号 redis-cli -n 2 keys "s*" | xargs redis-

psubscribe pattern [pattern] 与subscribe一样,只是可以使用*匹配符匹配多个channel

ZSCORE key member 如果member元素不是有序集key的成员,或key不存在,返回nil

1、官方文档 The timeout will only be cleared by commands that delete or overwrite the contents of the key

一、作用 如果为空就设置值,并返回1。 如果存在(不为空)不进行操作,并返回0。 二、setnx setnx是redis命令中的方法。 redis> SETNX mykey "Hello" (inte