溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何在java項(xiàng)目中操作Redis緩存

發(fā)布時(shí)間:2020-12-02 17:25:10 來(lái)源:億速云 閱讀:191 作者:Leah 欄目:編程語(yǔ)言

這篇文章給大家介紹如何在java項(xiàng)目中操作Redis緩存,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

1.導(dǎo)入必須的Jar包

使用Java操作Redis需要兩個(gè)必須的Jar包:jedis-2.5.1.jar 和  commons-pool2-2.0.jar 。每個(gè)版本可以不一樣,根據(jù)你自己下載的為準(zhǔn)。

2.實(shí)現(xiàn)RedisUtils工具類(lèi)

把連接Redis服務(wù)器的代碼封裝到一個(gè)工具類(lèi)里面,這樣就可以直接調(diào)用攻擊類(lèi)來(lái)獲取Redis的服務(wù)。

 RedisUtils工具類(lèi)代碼如下:  以下代碼和網(wǎng)上其他的實(shí)現(xiàn)類(lèi)大同小異,其實(shí)這個(gè)沒(méi)什么創(chuàng)新的東西。

下面代碼需要注意的地方:config.setMaxTotal(MAX_TOTAL); 由于我的jedis版本是2.5的,所有沒(méi)有setMaxActive這個(gè)方法。 

public class RedisUtils {

  //Redis服務(wù)器IP
  private static String ADDR = "192.168.125.130";
  
  //Redis的端口號(hào)
  private static int PORT = 6379;
  
  //訪問(wèn)密碼,若你的redis服務(wù)器沒(méi)有設(shè)置密碼,就不需要用密碼去連接
  private static String AUTH = "123456";
  
  //可用連接實(shí)例的最大數(shù)目,默認(rèn)值為8;
  private static int MAX_TOTAL = 512;
  
  //控制一個(gè)pool最多有多少個(gè)狀態(tài)為idle(空閑的)的jedis實(shí)例,默認(rèn)值也是8。
  private static int MAX_IDLE = 50;
  
  //等待可用連接的最大時(shí)間,單位毫秒,默認(rèn)值為-1,表示永不超時(shí)。
  private static int MAX_WAIT = 10000;
  
  private static int TIMEOUT = 10000;
  
  //在borrow一個(gè)jedis實(shí)例時(shí),是否提前進(jìn)行validate操作;如果為true,則得到的jedis實(shí)例均是可用的;
  private static boolean TEST_ON_BORROW = true;
  
  private static JedisPool jedisPool = null;
  
  /**
   * 初始化Redis連接池
   */
  static {
    try {
      JedisPoolConfig config = new JedisPoolConfig();
      config.setMaxTotal(MAX_TOTAL);
      config.setMaxIdle(MAX_IDLE);
      config.setMaxWaitMillis(MAX_WAIT);
      config.setTestOnBorrow(TEST_ON_BORROW);
      jedisPool = new JedisPool(config, ADDR, PORT, TIMEOUT, AUTH);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
  
  /**
   * 獲取Jedis實(shí)例
   * @return
   */
  public synchronized static Jedis getJedis() {
    try {
      if (jedisPool != null) {
        Jedis jedis = jedisPool.getResource();
        return jedis;
      } else {
        return null;
      }
    } catch (Exception e) {
      e.printStackTrace();
      return null;
    }
  }
  
  /**
   * 釋放jedis資源
   * @param jedis
   */
  public static void returnResource(final Jedis jedis) {
    if (jedis != null) {
      jedisPool.returnResource(jedis);
    }
  }
  
}

3.進(jìn)行Redis測(cè)試

接下來(lái)就可以進(jìn)行測(cè)試了。一般我們都是用Junit測(cè)試工具來(lái)測(cè)試:測(cè)試部分代碼如下 

    @Test
    public void testRedisPool() {
       RedisUtils.getJedis().set("xiaomin", ”12122“);
      System.out.println(RedisUtils2.getJedis().get("xiaomin"));
    }

關(guān)于如何在java項(xiàng)目中操作Redis緩存就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI