redis哨兵模式配置连接池

本篇文章适合redis集群操作。

  首先介绍下redis哨兵模式:

  https://www.jianshu.com/p/06ab9daf921d 转一下吧!哈哈哈,大致是什么意思呢。比如说现在有三台redis服务器,我们给它分配三个哨兵,当多数哨兵发现leader挂了的时候,他们会让小弟上马作为新的leader,这也是多哨兵模式,项目开发中普遍使用这种。就是一个实现高可用,不易宕机。

  代码中实现主要JedisSentinelPool这个类。其中参数有多种选择:

  参数详解:

   masterName:是redis名字。

    set:哨兵模式服务器与端口,“xxx.xx.xx.xx:26379,xxx.xx.xx.xx:26379,xxx.xx.xx.xx:26379”,根据逗号隔开后的set。(必须要是java.util.HashMap)

    poolConfig:这个是连接池中的配置,val poolConfig=new JedisPoolConfig(),可有如下配置:

    poolConfig.setMaxTotal(250)

    poolConfig.setMaxIdle(32)

    poolConfig.setTestOnBorrow(false)

    poolConfig.setTestOnReturn(false)

    poolConfig.setTestWhileIdle(false)

    poolConfig.setMinEvictableIdleTimeMillis(60000)

    poolConfig.setTimeBetweenEvictionRunsMillis(30000)

    poolConfig.setNumTestsPerEvictionRun(-1)

         timeout:超时时长

         auth:密码

   dbNum:访问的是几库

  获取redis客户端:new JedisSentinelPool(masterName,set,poolConfig,timeout,auth,dbNum)

  其中参数配置可根据实际需求自由搭配。

  依赖导入:

<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>


          

posted @ 2020-12-16 13:38  帅东我不帅  阅读(1482)  评论(0编辑  收藏  举报