redis池简单实现
来源:互联网 发布:淘宝怎么定制东西 编辑:程序博客网 时间:2024/06/05 15:40
网上看到的一片文章,摘了一段做个备忘,原文地址:http://www.cnblogs.com/liuling/p/2014-4-19-04.html
package com.test;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;public final class RedisUtil { //Redis服务器IP private static String ADDR = "192.168.0.100"; //Redis的端口号 private static int PORT = 6379; //访问密码 private static String AUTH = "admin"; //可用连接实例的最大数目,默认值为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 static JedisPool jedisPool = null; /** * 初始化Redis连接池 */ static { try { JedisPoolConfig config = new JedisPoolConfig(); config.setMaxActive(MAX_ACTIVE); config.setMaxIdle(MAX_IDLE); config.setMaxWait(MAX_WAIT); config.setTestOnBorrow(TEST_ON_BORROW); // 如果redis服务不需要验证就不用AUTH //jedisPool = new JedisPool(config, ADDR, PORT, TIMEOUT); jedisPool = new JedisPool(config, ADDR, 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) { if (jedis != null) { jedisPool.returnResource(jedis); } }}
测试
package com.jhb.active.redistest;import java.util.Date;import redis.clients.jedis.Jedis;public class rtest { public static void main(String[] args){ long st = new Date().getTime(); for(int i = 0; i < 1000; i++){ Jedis j = RedisUtil.getJedis(); j.set("newname", "中文测试"); System.out.println(j.get("newname") + (i + 1)); RedisUtil.returnResource(j); } System.out.println("耗时" + ((double)(new Date().getTime() - st) /1000 ) + "秒"); }}
阅读全文
0 0
- redis池简单实现
- redis分页简单实现
- redis实现简单队列
- Redis实现简单消息队列
- Redis实现简单消息队列
- redis 队列的简单实现
- Redis锁的简单实现
- Redis实现简单消息队列
- Redis实现简单消息队列
- springdata redis实现的简单demo
- redis实现简单的条件查询功能
- springdata redis实现的简单demo
- session保存到redis简单实现
- PHP + Redis 实现一个简单的twitter
- 简单实现Redis缓存中的排序功能
- Python 用Redis简单实现分布式爬虫
- redis整合spring实现简单的操作
- Redis的master/slave简单实现
- Shiro入门--构建JAVASE项目登陆总结
- IMS核心构成与基本业务过程
- 未来数据中心核心技术:RDMA在京东的应用
- oracle -- 解决ORA-12541: TNS: 无监听程序
- navicat创建本地连接池
- redis池简单实现
- python中的元祖 和 字典
- ZooKeeper Programmer's Guide
- 调用接口和servlet中的转发,重定向等...
- Linux下安装redis
- codewars解题笔记 —— 将字符串转驼峰,单词首字母大写
- PHP利用ImageMagick把PDF转成PNG
- Fri Sep 08 2017 17:03:02 GMT+0800 (中国标准时间)------- 格式的时间转换
- 如何建立个人博客网站