Redis常用方法

破棉襖發表於2014-09-01
  1. package com.redis;  
  2.   
  3. import java.util.HashMap;  
  4. import java.util.Iterator;  
  5. import java.util.List;  
  6. import java.util.Map;  
  7. import java.util.Map.Entry;  
  8. import java.util.Set;  
  9.   
  10. import org.junit.Before;  
  11. import org.junit.Test;  
  12.   
  13. import redis.clients.jedis.Jedis;  
  14.   
  15. public class TestRedis {  
  16.   
  17.     private static final String SERVER_ADDRESS = "127.0.0.1";   //伺服器地址  
  18.     private static final Integer SERVER_PORT = 6379 ;   //埠  
  19.       
  20.     private Jedis jedis ;  
  21.       
  22.     @Before  
  23.     public void init(){  
  24.         jedis = new Jedis(SERVER_ADDRESS, SERVER_PORT);   
  25.     }  
  26.       
  27.       
  28.       
  29.     /** 
  30.      * 操作普通鍵值對 
  31.      */  
  32.     @Test  
  33.     public void test01(){  
  34.         jedis.set("name""zhoufeng");//存入1個key=name value=zhoufeng的鍵值對  
  35.         String value = jedis.get("name");   //獲取key=name的值  
  36.         System.out.println(value);  
  37.     }  
  38.       
  39.     /** 
  40.      * 操作List 
  41.      */  
  42.     @Test  
  43.     public void test02(){  
  44.           
  45.         //將zhoufeng 加入students陣列的結尾,如果該元素是第一個元素,那麼會自動建立students陣列  
  46.         jedis.rpush("students""zhoufeng");      
  47.           
  48.         //將zhangsan加入到students的末尾  
  49.         jedis.lpush("students""zhangsan");  
  50.           
  51.         //移除students的第一個元素  
  52.         jedis.lpop("students");  
  53.           
  54.         //移除students的最後一個元素  
  55.         jedis.rpop("students");  
  56.           
  57.         //移除制定的元素,第二個參數列示要移除的個數,因為list中是允許出現重複元素的  
  58.         jedis.lrem("student"1"zhangsan") ;  
  59.         //獲取students陣列的所有元素  
  60.         List  students = jedis.lrange("students"0, -1) ;  
  61.           
  62.         System.out.println(students);  
  63.     }  
  64.       
  65.     /** 
  66.      * 操作Set 
  67.      */  
  68.     @Test  
  69.     public void test03(){  
  70.         //新增元素  
  71.         jedis.sadd("teachers""zhangsan");  
  72.         jedis.sadd("teachers""lisi");  
  73.         jedis.sadd("teachers""wangwu");  
  74.           
  75.         //判斷Set是否包含制定元素  
  76.         Boolean b1 = jedis.sismember("teachers""wangwu");  
  77.         Boolean b2 = jedis.sismember("teachers""xxxxx");  
  78.         System.out.println(b1 + "   " + b2);    
  79.           
  80.         //獲取Set內所有的元素  
  81.         Set members =  jedis.smembers("teachers");  
  82.         Iterator it = members.iterator() ;  
  83.         while(it.hasNext()){  
  84.             System.out.println(it.next());  
  85.         }  
  86.           
  87.     //  jedis.sunion(keys...) 可以將多個Set合併成1個並返回合併後的Set  
  88.           
  89.     }  
  90.       
  91.     /** 
  92.      * 操作帶排序功能的Set 
  93.      */  
  94.     @Test  
  95.     public void test04(){  
  96.         //新增元素,會根據第二個引數排序  
  97.         jedis.zadd("emps"5 , "aaa") ;  
  98.         jedis.zadd("emps"1 , "bbbb") ;  
  99.         jedis.zadd("emps"3 , "ccc") ;  
  100.         jedis.zadd("emps"2 , "ddd") ;  
  101.           
  102.         //獲取所有元素  
  103.         Set emps = jedis.zrange("emps"0, -1) ;  
  104.         Iterator it = emps.iterator() ;  
  105.         while(it.hasNext()){  
  106.             System.out.println(it.next());  
  107.         }  
  108.     }  
  109.       
  110.     /** 
  111.      * 存入物件,使用Map作為物件 
  112.      */  
  113.     @Test  
  114.     public void test05(){  
  115.         Map car = new HashMap() ;  
  116.         car.put("COLOR""red") ;  
  117.         car.put("SIZE""2T");  
  118.         car.put("NO""京8888");  
  119.         //存入物件,使用car:01當作key,是為了方便和其他car區分。比如car:02  
  120.         jedis.hmset("car:01", car);  
  121.           
  122.         //獲取整個物件  
  123.         Map result = jedis.hgetAll("car:01");   
  124.         Iterator>  it = result.entrySet().iterator();  
  125.         while(it.hasNext()){  
  126.             Entry entry = it.next() ;    
  127.             System.out.println("key:" + entry.getKey() + " value:" + entry.getValue());  
  128.         }  
  129.           
  130.         //也可以獲取制定的屬性  
  131.         String no = jedis.hget("car:01""NO") ;  
  132.         System.out.println("NO:" + no);  
  133.     }  
  134.       
  135. }  

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29754888/viewspace-1261575/,如需轉載,請註明出處,否則將追究法律責任。

相關文章