java读取redis数据(redis版本2.6)
2015-09-08 18:13
232 查看
import java.util.ArrayList;
import java.util.List;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPool;
/**
* @author liu
*
* @date 2015-8-25
* @version 1.0
*/
public class InitialRedis {
protected Jedis jedis;//非切片客户端连接
private JedisPool jedisPool;//非切片连接池
protected ShardedJedis shardedJedis;//切片(分布式)客户端连接
private ShardedJedisPool shardedJedisPool;//切片连接池
public InitialRedis()
{
initialPool();
initialShardedPool();
shardedJedis = shardedJedisPool.getResource();
jedis = jedisPool.getResource();
}
/**
* 初始化非切片池
*/
private void initialPool()
{
// 池基本配置
JedisPoolConfig config = new JedisPoolConfig();
//config.setMaxActive(20); // 最大连接数
config.setMaxIdle(5); // 最大空闲连接数
config.setMaxWaitMillis(1000l); //获取连接时的最大等待毫秒数
config.setTestOnBorrow(false); //在空闲时检查有效性, 默认false
jedisPool = new JedisPool(config,"11.211.145.10",7001);
}
/**
* 初始化切片池
*/
private void initialShardedPool()
{
// 池基本配置
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxIdle(5);
config.setMaxWaitMillis(1000l);
config.setTestOnBorrow(false);
// slave 连接, 这里实现了集群的功能,配置多个redis服务实现请求的分配进行负载均衡
List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();
shards.add(new JedisShardInfo("11.211.145.10", 7001, "master"));
// 构造池
shardedJedisPool = new ShardedJedisPool(config, shards);
}
}
import java.util.List;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import net.sf.json.JSONObject;
import org.junit.Test;
/**
* @author liu
*
* @date 2015-8-26
* @version 1.0
*/
public class ParseJson extends InitialRedis{
@Test
public void getjsondata() throws IOException{
Set<String> keys = jedis.keys("*");
Iterator<String> it=keys.iterator() ;
Map<String,Map<String,String>> map=new HashMap<String,Map<String,String>>();
Map<String,String> jsonmap=new HashMap<String,String>();
long starttime=System.currentTimeMillis();
while(it.hasNext()){
String key = it.next();
//String type=jedis.type(key);
String value=jedis.get(key);
String keyvalue=key+":"+value;
System.out.println("keyvalue::"+keyvalue);
JSONObject jsonObject=JSONObject.fromObject(value);
Iterator itor=jsonObject.keys();
List<String> jsonkeylist=new ArrayList<String>();
while(itor.hasNext()){
String jsonkey=itor.next().toString();
String jsonvalue=jsonObject.getString(jsonkey);
//System.out.println(jsonkey+":"+jsonvalue);
//jsonkeylist.add(jsonkey) ;
jsonmap.put(jsonkey, jsonvalue);
}
}
}
import java.util.List;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPool;
/**
* @author liu
*
* @date 2015-8-25
* @version 1.0
*/
public class InitialRedis {
protected Jedis jedis;//非切片客户端连接
private JedisPool jedisPool;//非切片连接池
protected ShardedJedis shardedJedis;//切片(分布式)客户端连接
private ShardedJedisPool shardedJedisPool;//切片连接池
public InitialRedis()
{
initialPool();
initialShardedPool();
shardedJedis = shardedJedisPool.getResource();
jedis = jedisPool.getResource();
}
/**
* 初始化非切片池
*/
private void initialPool()
{
// 池基本配置
JedisPoolConfig config = new JedisPoolConfig();
//config.setMaxActive(20); // 最大连接数
config.setMaxIdle(5); // 最大空闲连接数
config.setMaxWaitMillis(1000l); //获取连接时的最大等待毫秒数
config.setTestOnBorrow(false); //在空闲时检查有效性, 默认false
jedisPool = new JedisPool(config,"11.211.145.10",7001);
}
/**
* 初始化切片池
*/
private void initialShardedPool()
{
// 池基本配置
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxIdle(5);
config.setMaxWaitMillis(1000l);
config.setTestOnBorrow(false);
// slave 连接, 这里实现了集群的功能,配置多个redis服务实现请求的分配进行负载均衡
List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();
shards.add(new JedisShardInfo("11.211.145.10", 7001, "master"));
// 构造池
shardedJedisPool = new ShardedJedisPool(config, shards);
}
}
import java.util.List;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import net.sf.json.JSONObject;
import org.junit.Test;
/**
* @author liu
*
* @date 2015-8-26
* @version 1.0
*/
public class ParseJson extends InitialRedis{
@Test
public void getjsondata() throws IOException{
Set<String> keys = jedis.keys("*");
Iterator<String> it=keys.iterator() ;
Map<String,Map<String,String>> map=new HashMap<String,Map<String,String>>();
Map<String,String> jsonmap=new HashMap<String,String>();
long starttime=System.currentTimeMillis();
while(it.hasNext()){
String key = it.next();
//String type=jedis.type(key);
String value=jedis.get(key);
String keyvalue=key+":"+value;
System.out.println("keyvalue::"+keyvalue);
JSONObject jsonObject=JSONObject.fromObject(value);
Iterator itor=jsonObject.keys();
List<String> jsonkeylist=new ArrayList<String>();
while(itor.hasNext()){
String jsonkey=itor.next().toString();
String jsonvalue=jsonObject.getString(jsonkey);
//System.out.println(jsonkey+":"+jsonvalue);
//jsonkeylist.add(jsonkey) ;
jsonmap.put(jsonkey, jsonvalue);
}
}
}
相关文章推荐
- java操作redis3.0集群
- 发布一个参考ssdb,使用go类似的实现redis高性能nosql:ledisdb
- redis 常用指令
- 用Redis实现Session功能
- Redis快速入门
- Redis在Java中的使用
- windows下redis服务安装
- Redis管理监控软件
- 基于key-value的存储系统Redis
- redis剖析(一)redis性能
- mac下安装redis以及redis扩展-----xampp
- mac下安装redis以及redis扩展-----xampp
- Linux-Redis安装说明
- 在CentOS 6.3 64bit上安装redis 3.0.3
- windows下安装redis
- C# Redis 系列二
- Java中使用Jedis操作Redis
- C# Redis 系列一
- yum 安装redis
- Redis 数据集合的使用