欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java三種獲取redis的連接及redis_String類型演示(適合新手)

 更新時間:2020年12月28日 10:20:31   作者:達拉道·蒂夏  
這篇文章主要介紹了Java三種獲取redis的連接及redis_String類型演示(適合新手),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

0>確保redis進程服務開啟

1>第一種:直接獲取redis連接,通過redis.()方法測試連接,如果返回PONG則證明連接正常

 //1> jedis的入門代碼案例,測試連接
@Test
  public void test01(){
  //1. 獲取java連接 redis的連接對象
  Jedis jedis = new Jedis("node1", 6379);

  //2. 執(zhí)行相關操作
  String ping = jedis.ping();
  System.out.println(ping);  //返回PONG,說明連接成功

  //3. 釋放資源
  jedis.close();
}

2>第二種:通過redis連接池獲取redis連接,創(chuàng)建連接池的時候需要指定參數,

setmaxTotal(最大連接數),
setMaxIdle(不繁忙時最大連接數),
setMinIdle(不繁忙時最少連接數);

//2> jedis連接池相關操作
  @Test
  public void test02(){

    //1. 創(chuàng)建連接池對象(需要通過配置指定連接池各種情況下有多少連接)
    JedisPoolConfig config = new JedisPoolConfig();
    config.setMaxTotal(50); //連接池最大有多少連接
    config.setMaxIdle(25);  //不繁忙時最多有多少個
    config.setMinIdle(10);  //不繁忙時最少有多少個
    JedisPool jedisPool = new JedisPool(config, "node1", 6379);

    //2. 從連接池獲取一個連接對象
    Jedis jedis = jedisPool.getResource();

    //3. 執(zhí)行相關操作
    System.out.println(jedis.ping());


    //4. 釋放資源
    jedis.close();

  }

3>自定義RedisUtils,利用靜態(tài)代碼塊使連接池隨著類的加載只加載一次,防止每次想創(chuàng)建連接的時候都得先構建連接池浪費資源;

public class JedisUtils {

  private static JedisPool jedisPool;
  
 //構造方法私有化
  private JedisUtils(){}

  static {

    //靜態(tài)代碼塊:隨著類的加載而加載,一般只會加載一次
    JedisPoolConfig config = new JedisPoolConfig();
    config.setMaxTotal(50); //連接池最大有多少連接
    config.setMaxIdle(25);  //不繁忙時最多有多少個
    config.setMinIdle(10);  //不繁忙時最少有多少個
    jedisPool = new JedisPool(config, "node1", 6379);

  }
  //提供方法獲取jedis連接對象
  public static Jedis getJedis(){

    return jedisPool.getResource();
  }

}

3.1>測試工具類

 //3> 測試工具類
  @Test
  public void test03(){

    //1. 從工具類獲取連接
    Jedis jedis = JedisUtils.getJedis();

    //2. 執(zhí)行相關操作(測試連接)
    System.out.println(jedis.ping());

    //3. 釋放資源(歸還)
    jedis.close();
  }

4> redis的五種數據類型

字符串:String
特點: 存儲所有的字符和字符串
應用場景: 做緩存使用

哈希 :hash
特點: 相當于java中hashMap集合
應用場景: 可以存儲javaBean對象, 使用場景不多,可被String替代

list:集合
特點: 相當于java中l(wèi)inkList, 是一個鏈表的結構
應用場景: 做任務隊列,在java中客戶端提供了線程安全獲取集合數據的方式

set :集合
特點: 唯一, 無序
應用場景: 集合運算,例如去重復的操作
應用場景: 一般用來做排行榜

有序set集合: sorted set
特點:唯一, 有序

4.1> 使用jedis操作redis_String(String類型)

 //4.使用jedis操作redis_string
  @Test
  public void test04() throws Exception{

    //1. 從工具類獲取連接
    Jedis jedis = JedisUtils.getJedis();

    //2. 執(zhí)行相關操作,(操作redis中String類型)
    String ping = jedis.ping();
    if ("PONG".equalsIgnoreCase(ping)){  //進去說明正常連接到redis

      //2.1 設置數據
      jedis.set("name","索隆");
      jedis.set("age","25");

      //2.2 獲取數據
      String name = jedis.get("name");
      String age = jedis.get("age");
      System.out.println(name+"  "+age);
      System.out.println("-----------------------------");

      //2.3 自增 +1
      jedis.incr("age");
      jedis.incr("age");
      jedis.incr("age");
      jedis.incr("age");

      //2.4 自減 -1
      jedis.decr("age");
      jedis.decr("age");

      //2.5 獲取age的值
      System.out.println("年齡為:"+jedis.get("age"));
      System.out.println("------------------------------");

      //2.6 設置過期時間: 為新創(chuàng)建的key設置過期時間 setex
      jedis.setex("birthday",10,"1997-11-11");

      //2.7 獲取有效時間 :ttl
      while(jedis.exists("birthday")){ //進來就說明還存在

        Long ttl = jedis.ttl("birthday");
        System.out.println("有效時間還有" + ttl);

        //睡眠
        Thread.sleep(1000);

      }

    }

    //3. 釋放資源(歸還)
    jedis.close();
  }

到此這篇關于Java三種獲取redis的連接及redis_String類型演示(適合新手)的文章就介紹到這了,更多相關Java獲取redis連接內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 設計模式之責任鏈模式_動力節(jié)點Java學院整理

    設計模式之責任鏈模式_動力節(jié)點Java學院整理

    這篇文章主要為大家詳細介紹了設計模式之責任鏈模式的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • java中基本注解的知識點總結

    java中基本注解的知識點總結

    在本篇文章里小編給大家整理的是一篇關于java中基本注解的知識點總結,有需要的朋友們可以跟著學習下。
    2021-06-06
  • mybatis-plus 如何配置邏輯刪除

    mybatis-plus 如何配置邏輯刪除

    這篇文章主要介紹了mybatis-plus 如何配置邏輯刪除,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Java Web項目中使用Socket通信多線程、長連接的方法

    Java Web項目中使用Socket通信多線程、長連接的方法

    很多時候在javaweb項目中我們需要用到Socket通信來實現功能,在web中使用Socket我們需要建立一個監(jiān)聽程序,在程序啟動時,啟動socket監(jiān)聽。接下來通過本文給大家介紹Java Web項目中使用Socket通信多線程、長連接的方法,感興趣的朋友一起學習
    2016-04-04
  • Java Hibernate中的持久化類和實體類關系

    Java Hibernate中的持久化類和實體類關系

    Hibernate是一種Java對象關系映射框架,通過持久化類將Java對象映射到數據庫表中。持久化類需要實現無參構造器、具有標識屬性和使用注解或XML進行映射。Hibernate通過Session來管理對象的狀態(tài),包括臨時狀態(tài)、持久化狀態(tài)和游離狀態(tài)
    2023-04-04
  • Java如何跳出當前多重循環(huán)你知道嗎

    Java如何跳出當前多重循環(huán)你知道嗎

    這篇文章主要為大家介紹了Java跳出當前多重循環(huán),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • Java實現base64圖片編碼數據轉換為本地圖片的方法

    Java實現base64圖片編碼數據轉換為本地圖片的方法

    這篇文章主要介紹了Java實現base64圖片編碼數據轉換為本地圖片的方法,涉及java編碼轉換及圖片文件生成相關操作技巧,需要的朋友可以參考下
    2018-06-06
  • idea沒有services窗口、沒有springboot啟動項問題

    idea沒有services窗口、沒有springboot啟動項問題

    這篇文章主要介紹了idea沒有services窗口、沒有springboot啟動項問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • springcloud項目占用內存好幾個G導致服務器崩潰的問題

    springcloud項目占用內存好幾個G導致服務器崩潰的問題

    這篇文章主要介紹了springcloud項目占用內存好幾個G導致服務器崩潰的問題,本文給大家分享解決方案供大家參考,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • 從0開始教你開發(fā)一個springboot應用

    從0開始教你開發(fā)一個springboot應用

    這篇文章主要為大家介紹了從0開始開發(fā)一個springboot應用教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05

最新評論