1. 程式人生 > >Redis的常用方法總結

Redis的常用方法總結

public static RedisDao jedis;
	
	public static void main(String[] args) {
		
		
		jedis=(RedisDao) context.getBean("redisDao");
	    //將資料放入redis
	    jedis.set("testKey","testValue");
		//放入快取,並設定30s後失效
 	   	jedis.set("testValid",new Date().toString(), 30);
 	    jedis.rpush("11", "22", "33", "44", "55");

		//獲取當前庫中的總數
		int count=jedis.getKeyCount("");
		String testkey=jedis.get("bb");
		List <String> students = jedis.lrange("11", 0, -1) ;  
		
		System.out.println("testkey========="+testkey);
		System.out.println("testlist========="+students.toString());
	    System.out.println("test=========count="+count);
	}
	
	 /** 
     * 操作普通鍵值對 
     */  
    @Test  
    public void test01(){  
    	//存入1個key=name value=hello的鍵值對  
    	jedis.set("name", "hello");
        String value = jedis.get("name");   //獲取key=name的值  
        System.out.println(value);  
        
        jedis.del("name");
        value = jedis.get("name");   //獲取key=name的值  
        System.out.println(value);  
    }  
      
    /** 
     * 操作List 
     */  
    @Test  
    public void test02(){  
          
        //將zhoufeng 加入students陣列的開頭,如果該元素是第一個元素,那麼會自動建立students陣列  
        jedis.rpush("students", "first");      
          
        //將zhangsan加入到students的末尾  
        jedis.lpush("students", "end");  
          
        //移除students的第一個元素  
        jedis.lpop("students");  
          
        //移除students的最後一個元素  
        jedis.rpop("students");  
          
        //移除制定的元素,第二個引數表示要移除的個數,因為list中是允許出現重複元素的  
        jedis.lrem("student", 1, "first") ;  
        //獲取students陣列的所有元素  
        List <String> students = jedis.lrange("students", 0, -1) ;  
          
        System.out.println(students);  
    }  
      
    /** 
     * 操作Set 
     */  
    @Test  
    public void test03(){  
        //新增元素  
        jedis.sadd("teachers", "zhangsan");  
        jedis.sadd("teachers", "lisi","hello");  
        jedis.sadd("teachers", "wangwu");  
          
        //判斷Set是否包含制定元素  
        Boolean b1 = jedis.sismember("teachers", "wangwu");  
        Boolean b2 = jedis.sismember("teachers", "xxxxx");  
        System.out.println(b1 + "   " + b2);    
          
        //獲取Set內所有的元素  
        Set<String> members =  jedis.smembers("teachers");  
        Iterator<String> it = members.iterator() ;  
        while(it.hasNext()){  
            System.out.println(it.next());  
        }  
          
    //  jedis.sunion(keys...) 可以將多個Set合併成1個並返回合併後的Set  
          
    }  
      
    /** 
     * 操作帶排序功能的Set 
     */  
    @Test  
    public void test04(){  
        //新增元素,會根據第二個引數排序  
        jedis.zadd("emps", 5 , "aaa") ;  
        jedis.zadd("emps", 1 , "bbbb") ;  
        jedis.zadd("emps", 3 , "ccc") ;  
        jedis.zadd("emps", 2 , "ddd") ;  
          
        //獲取所有元素  
        Set<String> emps = jedis.zrange("emps", 0, -1) ;  
        Iterator<String> it = emps.iterator() ;  
        while(it.hasNext()){  
            System.out.println(it.next());  
        }  
    }  
      
    /** 
     * 存入物件,使用Map作為物件 
     */  
    @Test  
    public void test05(){  
        Map<String , String > car = new HashMap<String , String >() ;  
        car.put("COLOR", "red") ;  
        car.put("SIZE", "2T");  
        car.put("NO", "8888");  
         
        jedis.hmset("car", car);  
          
        //獲取整個物件  
        Map<String, String> result = jedis.hgetAll("car");   
        Iterator<Entry<String, String>>  it = result.entrySet().iterator();  
        while(it.hasNext()){  
            Entry<String, String> entry = it.next() ;    
            System.out.println("key:" + entry.getKey() + " value:" + entry.getValue());  
        }  
          
        //也可以獲取制定的屬性  
        String no = jedis.hget("car", "NO") ;  
        System.out.println("NO:" + no);  
    }