java讀取redis數據(redis版本2.6)


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






}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章