這里,我們介紹下如何使用redis作為緩存服務器使用在我們的工程中。
使用思路
對於java中的使用redis提供了一個jedis的jar包。我們在安裝好我們的redis服務器以后,只需要通過redis提供的jra包的相應方法進行訪問就可以得到數據了。為了盡可能的簡單,我們就實現用java代碼實現對redis的添加和讀取。
創建工程
首先是創建一個測試的工程
然后,創建一個lib目錄引入jar包,我引入的jar包是2.7.2的包,這是一個客戶端鏈接redis的包,同學可以自行從網上下載相應的jar包。
然后將這個jar包進行build path,然后得到的項目列表如下圖:
在我們的jar包引入完成后,就是測試代碼的編寫了。
測試
首先我們創建一個測試的jar包(寫不寫都行,但是個人習慣把所有的代碼都寫在包里面),然后寫一個jedisTest類。我直接把代碼粘上來,具體說明寫在代碼注釋中吧。

1 package cn.test; 2 3 import org.junit.Test; 4 5 import redis.clients.jedis.Jedis; 6 7 public class JedisTest { 8 //書寫測試類 9 @Test 10 public void TestJedis(){ 11 //創建jedis對象,相當於創建了一個客戶端和reidis服務器的鏈接。需要ip和端口號,IP就是安裝有redis服務的linux服務器的地址,端口號默認為6379 12 Jedis jedis= new Jedis("192.168.37.161",6379); 13 //ping redis服務器,這是它的一個方法,如果服務正常,會回復一個pong 14 String pong = jedis.ping(); 15 System.out.println("如果服務器可用請返回pong,謝謝合作:"+pong); 16 //先用第一個鍵去取一次值,這個時候redis中沒有數據返回應該是空的。 17 String value = jedis.get("key"); 18 System.out.println("第一次訪問的時候取到的值="+value); 19 //將數據存入reidis服務器中 20 jedis.set("key","第一次存入的值"); 21 //將數據取出 22 value = jedis.get("key"); 23 System.out.println("存入相應的值以后取到的值="+value); 24 //關閉和redis的鏈接 25 jedis.close(); 26 } 27 28 }
測試代碼運行完的結果如下:
redis的連接池
我們剛才也看到了,我們的redis的鏈接每次都需要創建鏈接和關閉鏈接,這是很浪費資源的,所以,我們redis也有鏈接池的技術。以下為使用連接池的時候的代碼,跟之前的測試代碼相當類似,這里就不再贅述了。

1 public class JedisPoolTest { 2 3 public static void main(String[] args) { 4 // 1. 創建連接池JedisPool 5 JedisPool jedisPool = new JedisPool("192.168.37.161", 6379); 6 7 // 2. 從連接池獲取連接jedis 8 Jedis jedis = jedisPool.getResource(); 9 10 // 3. 使用連接jedis操作redis 11 jedis.select(2); 12 13 String pong = jedis.ping(); 14 System.out.println(pong); 15 16 String key = "jedisPoll"; 17 String setResult = jedis.set(key, "hello redis!"); 18 System.out.println(setResult); 19 20 String getResult = jedis.get(key); 21 System.out.println(getResult); 22 23 // 4.釋放資源,每次用完jedis連接,必須close(),指的就是還回連接池 24 jedis.close(); 25 26 // 程序結束,銷毀連接池 27 jedisPool.close(); 28 } 29 }