单例模式下创建连接池,包括断线重连等机制。

public class RedisClient {

private static JedisPool pool = null;

private RedisClient(){

initial();

}

private static RedisClient client = new RedisClient();

public static RedisClient getClient(){

return client;

}

private void initial() {

JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();

jedisPoolConfig.setMaxActive(30000);

jedisPoolConfig.setMaxIdle(600);

jedisPoolConfig.setMaxWait(1000);

jedisPoolConfig.setTestOnBorrow(true);

if (pool == null) {

try {

pool = new JedisPool(jedisPoolConfig, "10.0.201.140", 5379,4000000);

} catch (Exception e) {

e.printStackTrace();

pool.destroy();

initial();//断线重连

}

}

}

/**

* 获取redis连接的 Pipelined

* @return

*/

public synchronized jedis getJedis() {

Jedis jd = null;

try {

jd= pool.getResource();

} catch (Exception e) {

if(jd!=null){

pool.returnBrokenResource(jd);

}

e.printStackTrace();

jd = getJedis();//递归进行断线重连

}

return jd;

}

/**

* 释放被损坏的jedis.

*

* @param jd

*/

public synchronized void releaseBrokenJedis(Jedis jd) {

pool.returnBrokenResource(jd);

jd = null;

}

/**

* 从连接池中释放jedis

*

* @param jd

*/

public synchronized void releaseJedis(Jedis jd) {

pool.returnResource(jd);

jd = null;

}

}

标签:

java redis 重连机制_redis在java中的客户端连接相关推荐

  1. java redis设置过期时间_Redis的一些核心原理

    点关注,不迷路:持续更新Java相关技术及资讯!!! 一.Redis的单线程和高性能 Redis 单线程为什么还能这么快? 因为它所有的数据都在内存中,所有的运算都是内存级别的运算(纳秒),而且单线程 ...

  2. java redis 重连_突破Java面试(23-4) - Redis 复制原理

    全是干货的技术号: 本文已收录在github,欢迎 star/fork: 在Redis复制的基础上(不包括Redis Cluster或Redis Sentinel作为附加层提供的高可用功能),使用和配 ...

  3. java redis缓存工具类_redis工具类-JedisUtil

    redis连接的工具类 1.java中的redis java中,使用redis不会将其当作数据库来使用,更多的是作为缓存或者是消息中间件来使用.在用作缓存时,我们需要使用第三方提供的jar包来进行开发 ...

  4. java redis 批量删除key_互联网大厂Java工程师面试指南——Redis篇

    注意一下咯:更多关于Java集合.JVM.多线程并发.spring原理.微服务.Netty 与RPC .Kafka.日记.设计模式.Java算法.数据库.Zookeeper.分布式缓存.数据结构面试解 ...

  5. Java EE重命名为Jakarta EE:Java EE Guardians与Oracle的分歧

    \ 看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料! \ \\ 由于对Oracle不热心回应Java社区反馈感到失望,Java EE Guardians于今 ...

  6. java学习(166):socket服务端和客户端连接

    socket服务端 import java.io.IOException; import java.net.ServerSocket; import java.net.Socket;//socket服 ...

  7. java redis实现session共享_redis实现分布式session共享

    在讲解redis分布式session共享之前,我们先聊聊tomcat中session管理机制,包括:请求过程中session操作,sessionid解析过程,servlet获取session流程,以及 ...

  8. java redis set 过期时间_redis分布式锁自动延长过期时间

    分布式系统概念与设计(原书第5版) 93.8元 包邮 (需用券) 去购买 > 背景项目组已经有个分布式锁注解(参考前文<记一次分布式锁注解化>),但是在设置锁过期时间时,需要去预估业 ...

  9. java redis管理_优雅时间管理Java轻松做到,想学么?

    原标题:优雅时间管理Java轻松做到,想学么? 来源 |http://rrd.me/gCQHp 前言:需求是这样的,在与第三方对接过程中,对方提供了token进行时效性验证,过一段时间token就会失 ...

最新文章

  1. Java新手会遇到的三大误区,一定要避免!
  2. 如何卸载office201032位_Office 2010如何手动卸载?
  3. centos下配置nginx支持php
  4. 从零写一个编译器(四):语法分析之构造有限状态自动机
  5. 在SAP CRM WebClient UI中用javascript触发ABAP event
  6. PAT_B_1053_Java(20分)
  7. 高速缓冲存储器的功能、结构与工作原理
  8. 程序员技术练级攻略(转载)
  9. 信息学奥赛一本通C++语言——1050:骑车与走路
  10. java基础-关键字-native
  11. linux的php探针使用,php探针在Linux下的安装过程分享
  12. 毛星云opencv入门边缘检测Canny代码
  13. 修改app的名字和图标
  14. 计算机apk文件无法打开,【电脑怎么打开apk文件】电脑如何打开apk文件_电脑上怎么打开apk-系统城...
  15. 再次深入分析不可重入函数---请小心使用localtime函数
  16. Sigma Function
  17. 【论文阅读】A Survey on Contrastive Self-supervised Learning
  18. 疯狂!电动汽车科技领域的投资正爆发式增长 | 数据报告
  19. 虚拟服务器登录,虚拟主机服务器登录
  20. kafka broker监听多个IP地址

热门文章

  1. linux系统安装ntp,CentOS下NTP安装配置
  2. php nginx日志分析,如何通过NGINX的log日志来分析网站的访问情况,试试这些命令...
  3. jmeter如何通过后置处理器提取(正则提取器、json提取器)做接口关联?
  4. spring boot 与redis 整合
  5. Java-ArrayList使用技巧---从第一个List中去除所有第二个List中与之重复的元素
  6. 目标检测之YOLO V2 V3
  7. express+handlebars 快速搭建网站前后台
  8. 五大主流浏览器及内核
  9. 如何获得物体的主要方向?
  10. 最后关于Pipeline完整的图如下: