Redis的常用方法總結
阿新 • • 發佈:2019-02-03
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); }