下面是关于jedis连接池的配置和一些注意事项:

public class JedisApiTest2 {// Redis服务器IPprivate static String ADDR = "127.0.0.1";// Redis的端口号private static int PORT = 6379;// 可用连接实例的最大数目,默认值为8;// 如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。private static int MAX_ACTIVE = 1024;// 控制一个pool最多有多少个状态为idle(空闲的)的jedis实例,默认值也是8。private static int MAX_IDLE = 200;// 等待可用连接的最大时间,单位毫秒,默认值为-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 JedisPool jedisPool = null;/*** 在高版本的jedis* jar包,比如2.8.2,我们在使用中发现使用JedisPoolConfig时,没有setMaxActive和setMaxWait属性了,这是因为高版本中官方废弃了此方法,用以下两个属性替换。* maxActive ==> maxTotal * maxWait ==> maxWaitMillis*/@Beforepublic void setup() {JedisPoolConfig config = new JedisPoolConfig();config.setMaxIdle(MAX_IDLE);config.setMaxTotal(MAX_ACTIVE);// 这个是以前的maxActiveconfig.setMaxWaitMillis(MAX_WAIT);config.setTestOnBorrow(TEST_ON_BORROW);jedisPool = new JedisPool(config, ADDR, PORT, TIMEOUT, null);}@SuppressWarnings("deprecation")@Testpublic void test() {Jedis jedis = jedisPool.getResource();jedis.set("testPool", "aaa");Assert.assertEquals("aaa", jedis.get("testPool"));//jedisPool.returnResource(jedis);// 此方法已经过时 百度了一下 说截止16年11月1日,jedis官方现在最高版本为2.9.0 而jedis.close()取代pool.returnResource(Jedis)方法将3.0版本开始,所以暂时只能使用后者。jedis.close(); //在查看 jedis 2.9.0 中close源码之后 感觉可以使用close来释放连接}/*** JedisPool的配置参数由JedisPoolConfig的对应项来赋值的。* maxActive:控制一个pool可分配多少个jedis实例,通过pool.getResource()来获取;如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted。* maxIdle:控制一个pool最多有多少个状态为idle(空闲)的jedis实例;* whenExhaustedAction:表示当pool中的jedis实例都被allocated完时,pool要采取的操作;默认有三种。* WHEN_EXHAUSTED_FAIL --> 表示无jedis实例时,直接抛出NoSuchElementException;* WHEN_EXHAUSTED_BLOCK --> 则表示阻塞住,或者达到maxWait时抛出JedisConnectionException;* WHEN_EXHAUSTED_GROW --> 则表示新建一个jedis实例,也就说设置的maxActive无用;* maxWait:表示当borrow一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException;* testOnBorrow:在borrow一个jedis实例时,是否提前进行Validate操作;如果为true,则得到的jedis实例均是可用的;* testOnReturn:在return给pool时,是否提前进行validate操作;* testWhileIdle:如果为true,表示有一个idle object evitor线程对idle object进行扫描,如果validate失败,此object会被从pool中drop掉;这一项只有在timeBetweenEvictionRunsMillis大于0时才有意义;* timeBetweenEvictionRunsMillis:表示idle object evitor两次扫描之间要sleep的毫秒数;* numTestsPerEvictionRun:表示idle object evitor每次扫描的最多的对象数;* minEvictableIdleTimeMillis:表示一个对象至少停留在idle状态的最短时间,然后才能被idle object evitor扫描并驱逐;这一项只有在timeBetweenEvictionRunsMillis大于0时才有意义;* softMinEvictableIdleTimeMillis:在minEvictableIdleTimeMillis基础上,加入了至少min Idle个对象已经在pool里面了。如果为-1,evicted不会根据idle time驱逐任何对象。如果minEvictableIdleTimeMillis>0,则此项设置无意义,且只有在timeBetweenEvictionRunsMillis大于0时才有意义;* lifo:borrowObject返回对象时,是采用DEFAULT_LIFO(last in first out,即类似cache的最频繁使用队列),如果为False,则表示FIFO队列;* 其中JedisPoolConfig对一些参数的默认设置如下:* testWhileIdle=true * minEvictableIdleTimeMills=60000* timeBetweenEvictionRunsMillis=30000* numTestsPerEvictionRun=-1*/
}

转载于:https://www.cnblogs.com/joeCqupt/p/6803813.html

jedis操作redis(二)相关推荐

  1. Jedis操作Redis数据库

    添加Maven依赖: 1 <dependencies> 2 <!-- 单元测试 --> 3 <dependency> 4 <groupId>junit& ...

  2. java jedis使用_Java中使用Jedis操作Redis

    Java中使用Jedis操作Redis 使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://files.cnblogs.com/liuling/jedis-2.1.0 ...

  3. java dataset redis,利用Spring-Data-Redis和Jedis操作Redis缓存

    概述          Jedis是redis官方推荐的用于访问Java客户端,在https://github.com/xetorthio/jedis下载最新的jedis. 访问redis 1.访问简 ...

  4. Lettuce替换Jedis操作Redis缓存

    Redis介绍及Mencached对比 Redis全称是远程字典服务,是一个Key-Value的存储系统,相比于很早之前一直使用的mencached,不单单提供了更多的类型支持. 数据类型上:menc ...

  5. 高并发核心技术Redis系列(七)--------Jedis操作Redis

    目录 一.Jedis操作Redis 1.1 Cache Aside Pattern(缓存模式) 1.2 引入Jedis 1.3 常用方法 1. Jedis连接到redis 2. String 3. K ...

  6. maven项目——使用jedis操作redis

    1.导入依赖   依赖如下: <!--导入jedis的jar包--><dependency><groupId>redis.clients</groupId&g ...

  7. Java中使用Jedis操作Redis,java初级面试笔试题

    写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. 参考 ...

  8. Java中使用jedis操作redis(使用maven)

    jedis的使用 前言 一.简单使用示例 1.快速入门 2.操作五种数据格式 二.jedis连接池:jedisPool 1.示例 2.jedies详细配置 三.创建连接池工具类 1.jedis.pro ...

  9. jedis操作set_Java中使用Jedis操作Redis的示例代码

    使用java操作Redis需要jedis-2.1.0.jar,下载地址:jedis-2.1.0.jar 如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jar,下载地址:c ...

  10. jedis操作redis(一)

    redis是一个常用的内存Nosql数据库,为什么要用nosql,为什么要用redis不用memcache这些很多博客以及讲得很清楚了. 下面介绍redis的5大基本数据类型的常用操作: STRING ...

最新文章

  1. 数据库原理与应用(SQL Server)笔记 第八章 用户自定义数据类型与变量
  2. 浅谈C#更改令牌ChangeToken
  3. android view gesturedetector,如何在Android中利用 GestureDetector进行手势检测
  4. LeetCode 1943. 描述绘画结果(差分思想)
  5. 给窗口添加背景图的案例
  6. Azure: 给 ubuntu 虚机挂载数据盘
  7. y105 usb转rs232驱动
  8. com.alibaba.android,钉钉(com.alibaba.android.rimet) - 6.0.17 - 应用 - 酷安
  9. 【Eclipse】Eclipse使用技巧
  10. 文件系统 -- 磁盘基础知识和FAT32文件系统详细介绍
  11. DHT磁力链数据爬取和资源搜索站的搭建
  12. seata-order-service2006模块
  13. leetcode845. 数组中的最长山脉
  14. 有道云笔记同步失败原因之一
  15. 国外项目外包网站接活流程(新手上路版)
  16. 一种用几何解nonlinear ICA的方法
  17. php代码出现notice,PHP提示Notice: Undefined variable的解决办法
  18. 墨天轮国产数据库沙龙 | 四维纵横姚延栋 :MatrixDB,All-in-One高性能时序数据库
  19. 亚马逊常见各国标准产品认证标准|干货贴|运营必看|
  20. 从阿里P1到P7,他的阿里七年总结就是两个字

热门文章

  1. Joint Detection and Identification Feature Learning for Person Search
  2. Windows Containers 大冒险: 加速
  3. 【js】鼠标跟随效果
  4. nginx安装编译,动态添加模块及其各模块的作用
  5. Java学习lesson 02
  6. spring boot Redis使用
  7. 设计模式学习系列9 外观模式Facade
  8. ORACLE RAC+DG 硬件配置
  9. 从Zygote孵化frameworks进程,分析StartActivity流程中intent传递数据的最大值。
  10. 【Android】ActivityManager结构图