今天与大家分享下,Jedis连接池使用。先看一段JAVA 代码:

        JedisPoolConfig config = new JedisPoolConfig();config.setMaxIdle(100);JedisPool pool = new JedisPool(config, "ip地址", 6379);         return pool.getResource();

这段代码是最简单连接redis的连接池代码,单机连接,存在单点故障。不过也看这个IP是否是VIP, redis可以做成HA模式。架构如下图:

redis 两台服务器,通过专业的HA软件实现主从管理,对外通过VIP提供服务,但主机宕机,HA会切换到从机运行,同时改变从机的角色为: master.。 这种架构不适合做读写分离,只有一台机器ONLINE 状态。

Redis 分片架构,先看图。典型的分片架构如下图:

该架构适合做并发较高,访问量大,如果采用jedis连接,可以实现Hash 一致性数据分布。具体代码如下:

       JedisPoolConfig config = new JedisPoolConfig();List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();shards.add(new JedisShardInfo("10.20.15.236", 6379)); shards.add(new JedisShardInfo("10.20.15.236", 6380)); // 构造池 ShardedJedisPool shardedJedisPool = new ShardedJedisPool(config, shards); ShardedJedis shardedJedis = shardedJedisPool.getResource();

Redis 哨兵机制

Redis本身提供一种HA方式,直接上图:

在服务器上启动多个哨兵进程,通过哨兵进程监控MASTER节点,当master节点宕机 , Sentinel 进程就会切换到从机。

Sentinel 进程的配置文件如下:

bind 10.20.15.236
port 7000dir "/var/work/redis/tmp"sentinel myid 466427b54fe410637a35b60ee3fbf995411b71da
sentinel monitor mymaster 10.20.15.241 6379 1 sentinel down-after-milliseconds mymaster 5000 sentinel failover-timeout mymaster 150 # Generated by CONFIG REWRITE sentinel config-epoch mymaster 6 sentinel leader-epoch mymaster 6 sentinel known-slave mymaster 10.20.15.236 6379 sentinel current-epoch 6

配置文件在这就不细说了。

Jedis 如何使用:

        Set<String> sentinels = new HashSet<String>();         sentinels.add("10.20.15.236:7000");         sentinels.add("10.20.15.241:7000");         JedisSentinelPool pool = new JedisSentinelPool("mymaster", sentinels);

注意,该代码的IP地址是Sentinel 进展的IP和端口号。

Jedis连接redis相关推荐

  1. Java中使用Jedis连接Redis对SortedSet进行排序操作

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

  2. Java中使用Jedis连接Redis对Hash进行操作的常用命令

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

  3. Java中使用Jedis连接Redis对Set进行操作的常用命令

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

  4. Java中使用Jedis连接Redis对List进行操作的常用命令

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

  5. Java中使用Jedis连接Redis对String进行操作的常用命令

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

  6. Java中使用Jedis连接Redis服务端时提示:JedisConnectionException: Failed connecting

    场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...

  7. 使用jedis连接Redis

    一.通过jedis连接redis单机 1.1导入jedis依赖 <dependency><groupId>redis.clients</groupId><ar ...

  8. jedis连接redis哨兵

    jedis连接redis哨兵 在有哨兵监控的主从结构下,使用jedis连接有以下几个步骤 使用JedisSentinelPool对象连接sentinel sentinel会返回给客户端当前master ...

  9. Jedis连接Redis集群

    连接集群版 把jedis依赖的jar包 添加到工程中 //连接redis集群 @Test public void testJedisCluster() throws Exception {//创建一个 ...

最新文章

  1. 在各种xDSL技术中,能提供上下行信道非对称传输的是______。正确答案 B
  2. Linux网络监控工具--netstat及网络连接分析
  3. ubuntu和python快速换源
  4. Linux技巧:一次删除一百万个文件最快方法
  5. mysql 插入加锁_Mysql加锁过程详解(9)-innodb下的记录锁,间隙锁,next-key锁
  6. 使用vue-cli脚手架搭建简单项目框架
  7. linux虚拟中断virq,一种微内核操作系统的分区多核方法与流程
  8. 语音识别学习日志 2019-7-14 语音识别基础知识准备2 {EM算法与混合高斯模型(Gaussian mixture model, GMM)}
  9. 【Flink】Flink Serving 天池快速上手 【视频笔记】
  10. Eviews 9.0新版本新功能——预测(Auto-ARIMA预测、VAR预测)
  11. 鉴客 C# 抓取页面(带认证)
  12. 四川取消英语计算机考试,2020年起,四川将不再承接全国英语等级考试,已有多省份停考!...
  13. 批量注册163邮箱的代码
  14. 『开发技巧』全网最详尽手把手教你在Ubuntu安装搜狗输入法
  15. python画图时设置分辨率和画布大小-plt.figure()
  16. css:层叠样式表(全)
  17. 【C语言】函数递归(详解)
  18. 理解超键、候选键、主键概念及关系
  19. nvd3使用(1)——多线图中的一个很隐蔽的bug
  20. 我的世界java版的马难以驯服_我的世界:这几种生物很难驯服,最难搞定的就是它了!...

热门文章

  1. Android之EventBus框架源码解析上(单例模式)
  2. Spark Master启动源码分析
  3. ElasticSearch知识汇总
  4. 【Effective Java】3.单例
  5. swift_015(Swift 的函数)
  6. linux更改默认版本,linux - 将某个软件版本设为ubuntu中的默认版本 - Ubuntu问答
  7. WampServer详解
  8. leetcode 287. 寻找重复数(Find the Duplicate Number)
  9. (笔记)电路设计(三)之0欧姆电阻、磁珠、电感的应用
  10. Java Scoket之java.io.EOFException解决方案