public class RedisUtil {

Logger logger = LoggerFactory.getLogger(RedisUtil.class);
private JedisPool pool = null;

/**

*在构造函数中初始化JedisPool

**/
public RedisUtil() {
  JedisPoolConfig config = new JedisPoolConfig();

  // 控制一个pool可分配多少个jedis实例,通过pool.getResource()来获取;    

  //如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。

  config.setMaxActive(SystemConstants.REDIS_MAX_ACTIVE);  

  //控制一个pool最多有多少个状态为idle(空闲的)的jedis实例。

  config.setMaxIdle(SystemConstants.REDIS_MAX_IDLE); 

//表示当borrow一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出     
  config.setMaxWait(SystemConstants.REDIS_MAX_WAIT);   

  //表示当borrow(引入)一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException;  
  config.setTestOnBorrow(true);
  config.setTestOnReturn(true);
  pool = new JedisPool(config, SystemConstants.REDIS_IP,SystemConstants.REDIS_PORT,SystemConstants.TIMEOUT);  //
}
public JedisPool getPool() {
  return pool;
}
public void setPool(JedisPool pool) {
  this.pool = pool;
}

public Jedis getJedis() {
  Jedis jedis = null;
  int count =0;
  do{
    try{
      jedis = this.getPool().getResource();
    } catch (Exception e) {
      getPool().returnBrokenResource(jedis);
      logger.error("Redis Exception :"+e.toString());
      e.printStackTrace();
    }
    count++;
  }while(jedis==null&&count<SystemConstants.REDIS_RETRY_NUM);
  return jedis;
}

/**

*关闭一个Jedis 资源 return 给pool

*/
public void closeJedis(Jedis jedis) {
  if(jedis != null) {
    this.pool.returnResource(jedis);
  }
}

}

// 以下为使用方法

// 获取Jedis 对象

Jedis jedis = redisUtil.getJedis();

rsp.setTariff_version(jedis.get("tariff_version"));

jedis.rpush(key.getBytes(),data);

// 关闭jedis 对象
redisUtil.closeJedis(jedis);

Jedis 使用范例的更多相关文章

  1. Jedis源代码探索

    [连接池实现] [一致性hash实现]   [Redis客户端-Jedis源代码探索][http://blog.sina.com.cn/s/blog_6bc4401501018bgh.html]   ...

  2. redis基础:redis下载安装与配置,redis数据类型使用,redis常用指令,jedis使用,RDB和AOF持久化

    知识点梳理 课堂讲义 课程计划 1. REDIS 入 门 (了解) (操作)   2. 数据类型 (重点) (操作) (理解) 3. 常用指令   (操作)   4. Jedis (重点) (操作) ...

  3. Jedis的使用

    Redis是常用的key-value存储服务器,Java使用Redis有很多方法,其中官方推荐的是Jedis. 使用Jedis,首先是下载jedis-x.x.x.jar文件并导入工程,然后运行Redi ...

  4. redis 学习笔记(7)-cluster 客户端(jedis)代码示例

    上节学习了cluster的搭建及redis-cli终端下如何操作,但是更常用的场景是在程序代码里对cluster读写,这需要redis-client对cluster模式的支持,目前spring-dat ...

  5. C# 7.0 新功能代码范例

    随着新版本的IDE Visual Studio 15 紧锣密鼓的开发中,2016年8月24日,微软发布了与之配套的C# 7.0 preview 的新特性. 其主要特性有: 内联声明out变量 (Out ...

  6. jedis支持哨兵主从配置role为slave

    jedis功能强大,但是不能像nodejs一样指定从slave中读数据,使数据量读写量较大时读写分离,减少redis压力. 我们可以利用jedis中的方法封装一个类似于此的方法. github地址: ...

  7. Spring + Jedis集成Redis(集群redis数据库)

    前段时间说过单例redis数据库的方法,但是生成环境一般不会使用,基本上都是集群redis数据库,所以这里说说集群redis的代码. 1.pom.xml引入jar <!--Redis--> ...

  8. (转)java redis使用之利用jedis实现redis消息队列

    应用场景 最近在公司做项目,需要对聊天内容进行存储,考虑到数据库查询的IO连接数高.连接频繁的因素,决定利用缓存做. 从网上了解到redis可以对所有的内容进行二进制的存储,而java是可以对所有对象 ...

  9. 【Redis】:Jedis 使用

    Redis 支持很多语言, 例如C#,RUBY,JAVA 等, Jedis是redis的java版本的客户端实现 一个简单的Jedis使用 依赖第三方包jedis-2.7.2.jar commons- ...

随机推荐

  1. iOS-关于使用其他应用打开本应用文档

    简介:本片文章是对官方文档的翻译,非常的感谢文章的翻译者:颐和园 官方地址:Document Interaction Programming Topics for iOS 文章的介绍内容: ***** ...

  2. Ubuntu虚拟机中断后重启网络断接错误解决方案

    因为该死的windows自动更新,所以vmplayer经常会被强制关闭. 但重新启动后,会发生不能连接到网络的情况显示: waiting for the network configuration…… ...

  3. App制作

    公司官网生成app: 搜狐快站 http://zhan.sohu.com/

  4. iOS动态部署之RSA加密传输Patch补丁

    概要:这一篇博客主要说明下iOS客户端动态部署方案中,patch(补丁)是如何比较安全的加载到客户端中. 在整个过程中,需要使用RSA来加密(你可以选择其它的非对称加密算法),MD5来做校验(同样,你 ...

  5. ubuntu

    mongoChef: http://3t.io/mongochef/download/core/platform/#tab-id-3 背景色改成豆沙绿: /usr/share/themes/Ambia ...

  6. js array push 添加内容

    向数组中天机内容: var array = new Array(); array.push('newItem');

  7. neurosolutions 人工神经网络集成开发环境 keras

    人工神经网络集成开发环境 :  http://www.neurosolutions.com/ keras:   https://github.com/fchollet/keras 文档    http ...

  8. springmvc结合ajax实现跨域上传文件

    本方法的思路是:先在前端利用FileReader将图片转换成base64编码,然后将编码字符串形式传递到后台(前提是服务端设置了允许跨域),后端再把base64编码转换成图片. 前端代码: <! ...

  9. centos6安装php5.4以上版本

    1.检查当前安装的PHP包 yum list installed | grep php 如果有安装的PHP包,先删除他们  yum remove php.x86_64 php-cli.x86_64 p ...

  10. window.print() 打印页面部分内容的方法

    用 JavaScript 实现页面数据的打印 : 主要是用到了一个 print() 函数 , 该函数将会打印整个 web 页面 body 内的所有 html 数据 ! 使用方法为 window.pri ...