Jedis连接redis
今天与大家分享下,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相关推荐
- Java中使用Jedis连接Redis对SortedSet进行排序操作
场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...
- Java中使用Jedis连接Redis对Hash进行操作的常用命令
场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...
- Java中使用Jedis连接Redis对Set进行操作的常用命令
场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...
- Java中使用Jedis连接Redis对List进行操作的常用命令
场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...
- Java中使用Jedis连接Redis对String进行操作的常用命令
场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...
- Java中使用Jedis连接Redis服务端时提示:JedisConnectionException: Failed connecting
场景 Centos中Redis的下载编译与安装(超详细): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334 Re ...
- 使用jedis连接Redis
一.通过jedis连接redis单机 1.1导入jedis依赖 <dependency><groupId>redis.clients</groupId><ar ...
- jedis连接redis哨兵
jedis连接redis哨兵 在有哨兵监控的主从结构下,使用jedis连接有以下几个步骤 使用JedisSentinelPool对象连接sentinel sentinel会返回给客户端当前master ...
- Jedis连接Redis集群
连接集群版 把jedis依赖的jar包 添加到工程中 //连接redis集群 @Test public void testJedisCluster() throws Exception {//创建一个 ...
最新文章
- 在各种xDSL技术中,能提供上下行信道非对称传输的是______。正确答案 B
- Linux网络监控工具--netstat及网络连接分析
- ubuntu和python快速换源
- Linux技巧:一次删除一百万个文件最快方法
- mysql 插入加锁_Mysql加锁过程详解(9)-innodb下的记录锁,间隙锁,next-key锁
- 使用vue-cli脚手架搭建简单项目框架
- linux虚拟中断virq,一种微内核操作系统的分区多核方法与流程
- 语音识别学习日志 2019-7-14 语音识别基础知识准备2 {EM算法与混合高斯模型(Gaussian mixture model, GMM)}
- 【Flink】Flink Serving 天池快速上手 【视频笔记】
- Eviews 9.0新版本新功能——预测(Auto-ARIMA预测、VAR预测)
- 鉴客 C# 抓取页面(带认证)
- 四川取消英语计算机考试,2020年起,四川将不再承接全国英语等级考试,已有多省份停考!...
- 批量注册163邮箱的代码
- 『开发技巧』全网最详尽手把手教你在Ubuntu安装搜狗输入法
- python画图时设置分辨率和画布大小-plt.figure()
- css:层叠样式表(全)
- 【C语言】函数递归(详解)
- 理解超键、候选键、主键概念及关系
- nvd3使用(1)——多线图中的一个很隐蔽的bug
- 我的世界java版的马难以驯服_我的世界:这几种生物很难驯服,最难搞定的就是它了!...
热门文章
- Android之EventBus框架源码解析上(单例模式)
- Spark Master启动源码分析
- ElasticSearch知识汇总
- 【Effective Java】3.单例
- swift_015(Swift 的函数)
- linux更改默认版本,linux - 将某个软件版本设为ubuntu中的默认版本 - Ubuntu问答
- WampServer详解
- leetcode 287. 寻找重复数(Find the Duplicate Number)
- (笔记)电路设计(三)之0欧姆电阻、磁珠、电感的应用
- Java Scoket之java.io.EOFException解决方案