您的位置:首页 > 数据库 > Redis

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);

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: