redis-如何在工程中使用redis


    這里,我們介紹下如何使用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 }
View Code

 

    測試代碼運行完的結果如下:

    

   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 }
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM