1. 程式人生 > >Java 連線redis的簡單Demo

Java 連線redis的簡單Demo

package com.test;

import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map;

import org.junit.Before; import org.junit.Test;

import redis.clients.jedis.Jedis;

public class TestRedis {     private Jedis jedis;           @Before     public void setup() {         //連線redis伺服器,192.168.0.100:6379         jedis = new Jedis("192.168.0.100", 6379);         //許可權認證         jedis.auth("admin");       }          /**      * redis儲存字串      */     @Test     public void testString() {         //-----新增資料----------           jedis.set("name","xinxin");//向key-->name中放入了value-->xinxin           System.out.println(jedis.get("name"));//執行結果:xinxin                    jedis.append("name", " is my lover"); //拼接         System.out.println(jedis.get("name"));                   jedis.del("name");  //刪除某個鍵         System.out.println(jedis.get("name"));         //設定多個鍵值對         jedis.mset("name","liuling","age","23","qq","476777XXX");         jedis.incr("age"); //進行加1操作         System.out.println(jedis.get("name") + "-" + jedis.get("age") + "-" + jedis.get("qq"));              }          /**      * redis操作Map      */     @Test     public void testMap() {         //-----新增資料----------           Map<String, String> map = new HashMap<String, String>();         map.put("name", "xinxin");         map.put("age", "22");         map.put("qq", "123456");         jedis.hmset("user",map);         //取出user中的name,執行結果:[minxr]-->注意結果是一個泛型的List           //第一個引數是存入redis中map物件的key,後面跟的是放入map中的物件的key,後面的key可以跟多個,是可變引數           List<String> rsmap = jedis.hmget("user", "name", "age", "qq");         System.out.println(rsmap);              //刪除map中的某個鍵值           jedis.hdel("user","age");         System.out.println(jedis.hmget("user", "age")); //因為刪除了,所以返回的是null           System.out.println(jedis.hlen("user")); //返回key為user的鍵中存放的值的個數2          System.out.println(jedis.exists("user"));//是否存在key為user的記錄 返回true           System.out.println(jedis.hkeys("user"));//返回map物件中的所有key           System.out.println(jedis.hvals("user"));//返回map物件中的所有value             Iterator<String> iter=jedis.hkeys("user").iterator();           while (iter.hasNext()){               String key = iter.next();               System.out.println(key+":"+jedis.hmget("user",key));           }       }          /**       * jedis操作List       */       @Test       public void testList(){           //開始前,先移除所有的內容           jedis.del("java framework");           System.out.println(jedis.lrange("java framework",0,-1));           //先向key java framework中存放三條資料           jedis.lpush("java framework","spring");           jedis.lpush("java framework","struts");           jedis.lpush("java framework","hibernate");           //再取出所有資料jedis.lrange是按範圍取出,           // 第一個是key,第二個是起始位置,第三個是結束位置,jedis.llen獲取長度 -1表示取得所有           System.out.println(jedis.lrange("java framework",0,-1));                    jedis.del("java framework");         jedis.rpush("java framework","spring");           jedis.rpush("java framework","struts");           jedis.rpush("java framework","hibernate");          System.out.println(jedis.lrange("java framework",0,-1));     }            /**       * jedis操作Set       */       @Test       public void testSet(){           //新增           jedis.sadd("user","liuling");           jedis.sadd("user","xinxin");           jedis.sadd("user","ling");           jedis.sadd("user","zhangxinxin");         jedis.sadd("user","who");           //移除noname           jedis.srem("user","who");           System.out.println(jedis.smembers("user"));//獲取所有加入的value           System.out.println(jedis.sismember("user", "who"));//判斷 who 是否是user集合的元素           System.out.println(jedis.srandmember("user"));           System.out.println(jedis.scard("user"));//返回集合的元素個數       }          @Test       public void test() throws InterruptedException {           //jedis 排序           //注意,此處的rpush和lpush是List的操作。是一個雙向連結串列(但從表現來看的)           jedis.del("a");//先清除資料,再加入資料進行測試           jedis.rpush("a", "1");           jedis.lpush("a","6");           jedis.lpush("a","3");           jedis.lpush("a","9");           System.out.println(jedis.lrange("a",0,-1));// [9, 3, 6, 1]           System.out.println(jedis.sort("a")); //[1, 3, 6, 9]  //輸入排序後結果           System.out.println(jedis.lrange("a",0,-1));       }            @Test     public void testRedisPool() {         RedisUtil.getJedis().set("newname", "中文測試");         System.out.println(RedisUtil.getJedis().get("newname"));     } }