jedis pool的问题
jedis pool的问题
在使用jedis pool时遇到了这个问题:It seems like server has closed the connection
原因分析:
1.redis server 关闭了此客户端的连接:server端设置了maxidletime(默认是5分钟),服务端会不断循环检测clinet的最后一次通信时间(lastinteraction),如果大于maxidletime,则关闭连接,并回收相关资源。client在向该连接中写数据后就会由于server端已经关闭而出现 broken pipe的问题。
2.pool的设置错误:
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxActive" value="20" /> <property name="maxIdle" value="10" /> <property name="maxWait" value="1000" /> </bean><!-- jedis shard信息配置 --> <bean id="jedis.shardInfo" class="redis.clients.jedis.JedisShardInfo"> <constructor-arg index="0" value="*.*.*.*" /> <constructor-arg index="1" value="6379" /> </bean> <!-- jedis shard pool配置 --> <bean id="shardedJedisPool" class="redis.clients.jedis.ShardedJedisPool"> <constructor-arg index="0" ref="jedisPoolConfig" /> <constructor-arg index="1"> <list> <ref bean="jedis.shardInfo" /> </list> </constructor-arg> </bean> <bean id="jedisCommands" factory-bean="shardedJedisPool" factory-method="getResource" />
上面的这种配法在spring初始化时获取一次实例化jedisCommands,而后每次的redis的调用时并未从pool中获取
解决方案:
设置
<!-- POOL配置 --> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxActive" value="20" /> <property name="maxIdle" value="10" /> <property name="maxWait" value="1000" /> <property name="testOnBorrow" value="true"/> </bean> <!-- jedis shard信息配置 --> <bean id="jedis.shardInfo" class="redis.clients.jedis.JedisShardInfo"> <constructor-arg index="0" value="*.*.*.*" /> <constructor-arg index="1" value="6379" /> </bean> <!-- jedis shard pool配置 --> <bean id="shardedJedisPool" class="redis.clients.jedis.ShardedJedisPool"> <constructor-arg index="0" ref="jedisPoolConfig" /> <constructor-arg index="1"> <list> <ref bean="jedis.shardInfo" /> </list> </constructor-arg> </bean>
参考:
http://stackoverflow.com/questions/3047010/best-redis-library-for-java
https://github.com/xetorthio/johm
https://github.com/xetorthio/jedis/issues/closed#issue/76
jedis pool的问题相关推荐
- _00021 尼娜抹微笑伊拉克_谁的的最离奇的异常第二阶段 Jedis pool.returnResource(jedis)...
笔者博文:妳那伊抹微笑 博客地址:http://blog.csdn.net/u012185296 博文标题:_00021 妳那伊抹微笑_谁的异常最诡异第二期之 Jedis pool.returnRes ...
- spring boot 集成 redis spring-boot-starter-data-redis 2.1.7.RELEASE jedis: pool: #连接池配置 及踩坑经验
目录 先上一些踩坑报错,各类报错 @org.springframework.beans.factory.annotation.Autowired(required=true) Error creati ...
- Jedis使用教程完整版
2019独角兽企业重金招聘Python工程师标准>>> 摘要:概述Jedis是Redis官方推荐的Java连接开发工具.要在Java开发中使用好Redis中间件,必须对Jedis熟悉 ...
- 多线程下使用Jedis
在不同的线程中使用相同的Jedis实例会发生奇怪的错误. 但是创建太多的实现也不好因为这意味着会建立很多sokcet连接,也会导致奇怪的错误发生. 单一Jedis实例不是线程安全的. 为了避免这些问题 ...
- jedis连接sentinel示例程序
1.添加依赖pom.xml <dependency><groupId>redis.clients</groupId><artifactId>jedis& ...
- Redis - Spring Data Redis 操作 Jedis 、Lettuce 、 Redisson
文章目录 官网 Jedis VS Lettuce Jedis Code POM依赖 配置文件 配置类 单元测试 Lettuce Code Redisson Code POM依赖 配置文件 配置类 单元 ...
- Jedis干什么用的
Jedis使用总结 前段时间细节的了解了Jedis的使用,Jedis是redis的java版本的客户端实现. 本文做个总结,主要分享如下内容: [pipeline][分布式的id生成器][分布式锁[w ...
- redis java客户端配置,Java的Redis客户端选择-jedis与Lettuce
Lettuce 和 Jedis 的定位都是Redis的client,所以他们当然可以直接连接redis server. Jedis在实现上是直接连接的redis server,如果在多线程环境下是非线 ...
- jedis使用_Mybatis的二级缓存、使用Redis做二级缓存
什么是二级缓存? 二级缓存和一级缓存的原理是一样的,第一次查询,会将数据放入缓存中,然后第二次查询则会直接去缓存中取.但是一级缓存是基于的sqlSession,而二级缓存是基于mapper文件的nam ...
- java代码简单操作Redis数据Jedis jar
java操作Redis数据API->Jedis Jedis引入 作为java码农,如何在代码中操作Redis呢? Jedis的介绍 Redis不仅可以使用命令来操作,现在基本上主流的语言都有AP ...
最新文章
- 路径字符串生成树形结构的思路_LeetCode 22. 括号生成
- php 会话控制 文件上传
- Linux下CMake简明教程(六)动态库和静态库的编译控制
- python venv windows7_安装 Python、pip 和 venv
- 解决-bash: make: command not found安装提示错误
- vue加百度统计代码(亲测有效)
- 三、华为鸿蒙HarmonyOS应用开发HUAWEI DevEco Studio实现页面跳转
- Drupal 7 主题模板概述
- bat 指定每一周的某一天(比如周五) 执行某一程序(比如飞鸽)
- Rabbitmq基本原理和架构
- 如何生成CGCS2000坐标系等高线
- win10如何开启自带虚拟机
- 清华EMBA课程系列思考之一 -- Techmark课程带给管理者的思考
- 用Pytorch自建6层神经网络训练Fashion-MNIST数据集,测试准确率达到 92%
- 魔兽7.0服务器维护时间,关于魔兽7.0版本你一定要知道的60条注意事项
- MPP大规模并行处理架构详解(满满干货,需细嚼慢咽)
- 银行业务学习之道:信用卡的具体功能
- mshtml与System.Windows.Forms.HtmlElement
- SQL Server 2008 简体中文正式版下载地址(附序列号)
- DROO memory.py
热门文章
- 仿网易严选Flutter项目
- 邯郸php,邯郸php程序员培训,邯郸php程序员培训费用,邯郸php程序员培训完工作好找吗...
- ISP封了80和8080端口
- linux卸载windows boot,windows和Linux双系统卸载Linux系统
- canvas绘制五角星
- 世界33种名车标志及来历
- 计算机管理调整磁盘分区,win7系统硬盘分区调整方法图解
- android8 锁屏壁纸,小米8怎么设置锁屏壁纸?小米8锁屏壁纸三种设置教程
- 携程:电子合同高效赋能数字文旅
- 一键智能切割(分割)整轨wav、flac、ape音乐文件