import java.util.ResourceBundle;import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;public class RedisUtil {// 端口、 地址 、 用户private static ResourceBundle myResourcesUS = ResourceBundle.getBundle("db");// 加载myproperties_en.propertiesprivate static String IP = myResourcesUS.getString("redis.hostname");private static int PORT = Integer.parseInt(myResourcesUS.getString("redis.port"));private static String AUTH = myResourcesUS.getString("redis.password");// 可用连接实例的最大数目,默认值为8; -1表示不限制private static int MAX_ACTIVE = 20;// 控制一个pool最多有多少个状态为idle(空闲的)的jedis实例,默认值也是8。private static int MAX_IDLE = 8;// 等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时。如果超过等待时间,则直接抛出JedisConnectionException;private static int MAX_WAIT = 10000;private static int TIMEOUT = 10000;// 在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的;private static boolean TEST_ON_BORROW = true;private static JedisPool jedisPool = null;/*** 初始化Redis连接池*/static {try {// 在高版本的jedis// jar包,比如2.8.2,我们在使用中发现使用JedisPoolConfig时,没有setMaxActive和setMaxWait属性了,这是因为高版本中官方废弃了此方法,用以下两个属性替换。// maxActive ==> maxTotal// maxWait ==> maxWaitMillisJedisPoolConfig config = new JedisPoolConfig();config.setMaxTotal(MAX_ACTIVE);config.setMaxIdle(MAX_IDLE);config.setMaxWaitMillis(MAX_WAIT);config.setTestOnBorrow(TEST_ON_BORROW);jedisPool = new JedisPool(config, IP, PORT, TIMEOUT, AUTH);} catch (Exception e) {e.printStackTrace();}}/*** 获取Jedis实例* * @return*/public synchronized static Jedis getJedis() {try {if (jedisPool != null) {Jedis resource = jedisPool.getResource();return resource;} else {return null;}} catch (Exception e) {e.printStackTrace();return null;}}/*** 释放jedis资源* * @param jedis*/public static void returnResource(final Jedis jedis) {try {// System.out.println("退出"+jedis.toString()+":"+jedis.quit());// jedis.close();if (jedis.isConnected()) {jedis.quit();jedis.disconnect();jedis.close();}} catch (Exception e) {System.out.println("退出失败");e.printStackTrace();}}/** public static void main(String[] args) { Jedis redis = RedisUtil.getJedis();* RedisUtil.getJedis().set("billRouting", "8");* RedisUtil.returnResource(RedisUtil.getJedis());* System.out.println(RedisUtil.getJedis().get("billRouting")); }*/
}

Redis工具类,Jedis,JedisPool相关推荐

  1. Java开发中的工具类——基于JedisPool的Redis工具类

    目录 一.Maven依赖 二.Redis配置类 三.使用@Cacheable注解进行数据缓存 四.自定义Redis工具类及使用 4.1 序列化工具类 4.2 redis客户端工具类 4.3 redis ...

  2. 基于jedis的Redis工具类

    本文来记录下基于 jedis 的 Redis 工具类 文章目录 核心代码 核心代码 以下为核心代码 /*** 基于jedis的redis操作工具类* @author www* @time 2021/8 ...

  3. Redis工具类的封装

    Redis工具类的封装 <dependency><groupId>redis.clients</groupId><artifactId>jedis< ...

  4. java实现redis工具类及其调用

    网上很多redis工具类需要配套ssm,spring等,这是一套可以直接用的redis取参数的工具类(String类型) 一.jedis-2.1.0.jar下载,放到项目的lib下 网盘地址(4tn5 ...

  5. 微服务使用redis操作实例包含redis工具类

    1.单机redis使用工具类 application.properties配置内容 #redis配置 #单机模式 #redis数据库索引,默认为0 spring.redis.database=0 #r ...

  6. RedisUtil,Redis工具类

    RedisUtil,Redis工具类 1.配置maven,增加依赖 2.配置工具类 1.配置maven,增加依赖 <dependency><groupId>redis.clie ...

  7. Scala 连接Redis工具类

    Scala使用工厂模式返回操作Redis集群的工具类 package come.gome.data.utilsimport redis.clients.jedis.{HostAndPort, Jedi ...

  8. SpringBoot整合Redis并实现Redis工具类

    Redis 是用 C 语言开发的一款开源的.高性能的键值对存储数据库.它采用 BSD 协议,为了适应不同场景下的存储需求,提供了多种键值对类型,到目前为止 Redis 数据库支持5种数据类型,分别是S ...

  9. Redis工具类封装RedisUtils(两种)

    RedisTemplate工具类1 本文参考:https://blog.it-follower.com/posts/2563248908.html SpringBoot项目集成Redis相当简单,只需 ...

  10. jredis 工具_java中的redis工具类

    1.redis基础类packagecom.qlchat.component.redis.template;importjavax.annotation.PostConstruct;importorg. ...

最新文章

  1. Cisco网院成立10周年-未来三年在蓉增50所
  2. linux文件系统的链接,用户指南:Linux文件系统的链接
  3. DSP与FPGA间简单通信时序
  4. 作为首席架构师,我是如何选择并落地架构方案的?
  5. An error occurred during the file system check
  6. 发表论文的十条金玉良言
  7. XSLT实现XML无极限树(精简版)[二] 解决没有递归出节点属性值总和的问题(JS实现)...
  8. Mysql 数据库语句常用总结
  9. 南昌计算机学校哪家最可靠,南昌问题孩子管教学校哪家靠谱
  10. Mac OSX x86 10.4.6 安装小记(1)
  11. Linux的安装教程 | 菜鸟教程
  12. 品牌和爱情,原理是一样的
  13. 毕业设计 基于单片机的万能红外遥控器 - 物联网 嵌入式
  14. 蓝牙语音芯片模块数传音频BLE选型 支持mp3播放外挂spiflash双模
  15. 没赶上互联网,也没赶上移动互联网,微软到底赶上了什么?
  16. 计算机之间的通信原理
  17. cv2.putText()函数中各个参数含义
  18. 如果让你只推荐一本nbsp;Javaamp;nbs…
  19. 用户购物(数据库)案例
  20. 你对C++头文件了解多少?——盘点C++的常用头文件

热门文章

  1. Ubuntu虚拟机无法ping通windows解决办法 Ubuntu入门之九
  2. python数据归一化处理方法_python测试数据怎么归一化
  3. Jupyter-NoteBook-N个使用小技巧
  4. Vue.js中过滤器(filter)的使用
  5. linux 安装git环境变量配置
  6. php 取uniqid值,PHP函数:uniqid()
  7. Python爬虫实例,根据项目需求所讲解,超详细
  8. 【Java网络爬虫实战篇】使用Jsoup爬取和解析王者荣耀全英雄全皮肤(思路/代码/问题分析)
  9. Matlab中创建字符串数组
  10. 技术人的出路 经典转贴