Redis Java API
2015-06-11 13:24
507 查看
package cn.ac.iscas.pebble.dc.redispool; import java.io.File; import java.io.FileOutputStream; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Set; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; import redis.clients.jedis.Pipeline; import redis.clients.jedis.Response; import cn.ac.iscas.pebble.dc.hdfs.AppendToFile; import cn.ac.iscas.pebble.dc.test.P; public class RedisPoolProxy { private HashMap<String,JedisPool> poolList = new HashMap<String,JedisPool>(); public static Date yes = null; private static RedisPoolProxy _proxy = null; public static RedisPoolProxy getInstance(){ if(null == _proxy){ _proxy = new RedisPoolProxy(); } return _proxy; } public JedisPool getPool(String ip,int port){ JedisPool pool = poolList.get(ip + ":" + port); if(null == pool){ JedisPoolConfig config = new JedisPoolConfig(); config.setMaxTotal(P.maxTotal);//最大连接数 config.setMaxIdle(P.maxIdle);//最大空闲连接数 config.setMaxWaitMillis(P.maxWaitMillis);//获取连接时的最大等待毫秒数 config.setTestOnBorrow(true);//在获取连接的时候检查有效性, 默认false pool = new JedisPool(config, ip, port,60*1000); poolList.put(ip + ":" + port, pool); } return pool; } public static Integer getDataFromRedis(String ip, int port, int db, String localfilepath,boolean delete){ JedisPool pool = RedisPoolProxy.getInstance().getPool(ip,port); int count = 0; boolean flag = true; if(null != pool){ Jedis redis = null; try { redis = pool.getResource(); Pipeline pipeline = redis.pipelined(); pipeline.select(db); Response<Set<String>> response = pipeline.keys("*"); pipeline.sync(); Set<String> keys = response.get(); if(null != keys){ pipeline.get(key); pipeline.del(key); } List<Object> result = pipeline.syncAndReturnAll(); for(Object value:result){ if(value instanceof String){ System.out.println((String)value+"\n"); count++; } } }catch (Exception e) { pool.returnBrokenResource(redis); e.printStackTrace(); flag=false; } finally { if (null != redis && null != pool ) { pool.returnResource(redis); } } } return count; } }
相关文章推荐
- Redis大冒险
- 用Redis bitmap统计活跃用户、留存
- 什么是Redis
- Redis消息通知系统的实现
- Redis学习手册(Key操作命令)
- Redis学习手册(Sorted-Sets数据类型)
- Redis学习手册(Set数据类型)
- Redis学习手册(Hashes数据类型)
- Redis学习手册(List数据类型)
- ServiceStack.Redis 缓存过期,并未失效的暂时解决办法
- Redis学习手册(String数据类型)
- Redis学习手册(开篇)
- spring-data-redis配置详解
- Debian wheezy安装Redis 3.0
- Redis介绍以及安装(Linux)
- redis window版本
- Redis常用命令速查 <第二篇>(转)
- Redis2.8.13安装配置
- redis学习
- MISCONF Redis is configured to save RDB snapshots,but is currently not able to persist on disk