SpringBoot 使用redis


1.本地安裝redis

  • 首先給本機電腦下載一個redis,下載地址:
https://github.com/tporadowski/redis/releases。
  • 將下載的壓縮包解壓到文件夾,打開文件夾目錄如下

2.設置redis密碼

  • 直接啟動redis-server.exe,會發現redis報警告未指定默認配置文件

  • 這個時候我們先把redis退出來然后在redis安裝目錄打開cmd窗口運行redis-server.exe redis.windows.conf指令

  • 運行完之后我們再看啟動的redis已經不報警告了,說明redis.windows.conf配置文件已經啟用

  • 但是我們每次打開都要先打開cmd窗口再執行redis-server.exe redis.windows.conf指令太過麻煩在。所以,我們可以在redis安裝目錄下,創建一個txt文件后,
    打開並輸入剛才的redis-server.exe redis.windows.conf命令,關閉,將文件改為bat即可,以后開啟服務直接雙擊這個批處理文件即可,這樣就會redis服務就會調用自己設置的配置了

  • 接下來我們來設置redis密碼,我們指定了redis.windows.conf文件作為配置文件,就在該文件里找到requirepass字段修改方式:requirepass 你的密碼

  • 設置完密碼直接啟動redis.bat文件,redis的密碼就設置好了

3.pom文件引入redis依賴

<!--配置Jedis連接器-->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.3</version>
</dependency>
<!--redis依賴-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

4.JedisPool連接池鏈接redis

  • 為什么要引入JedisPool?

    • 首先我們如果每次使用緩存都生成一個Jedis對象的話,這樣意味着會建立很多socket連接,造成系統資源被不可控調用,甚至會導致奇怪錯誤的發生。

如果使用單例模式,在線程安全模式下適應不了高並發的需求,非線程安全模式又可能會出現與時間相關的錯誤。因此,為了避免這些問題,引入了池的概念JedisPool。

JedissPool是一個線程安全的網絡連接池,我們可以通過JedisPool創建和管理Jedis實例,這樣可以有效的解決以上問題以實現系統的高性能。

  • RedisUtil工具類
import com.example.backstage.util.ValidatorUtil;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

import java.util.List;
import java.util.Map;

public class RedisUtil {

    private static JedisPool pool = null;

    /**
     * 獲取jedis連接池
     */
    public static JedisPool getPool(){
        if(pool == null){
            //創建jedis連接池配置
            JedisPoolConfig config = new JedisPoolConfig();
            //最大連接數
            config.setMaxTotal(100);
            //最大空閑連接-
            config.setMaxIdle(5);
            //創建redis連接池
            pool = new JedisPool(config, "127.0.0.1",
                    6379, 5000, "******");
        }
        return pool;
    }
     /**
     * 獲取給定 key 的值
     * @param key
     * @return
     */
    public static String get(String key){
        Jedis jedis = getPool().getResource();
        String result = jedis.get(key);
        jedis.close();
        return result;
    }

     /**
     * 設置給定 key 的值
     * @param key
     * @param value
     * @return
     */
    public static String set(String key,String value){
        Jedis jedis = getPool().getResource();
        String result = jedis.set(key,value);
        jedis.close();
        return result;
    }
}
  • 測試一下set get

運行結果:

redis連接成功!

1.設置密碼:打開redis-cli.exe運行命令 config set requirepass kaige123

2.查詢密碼:config get requirepass

3.驗證:auth kaige123

4.再次查詢密碼:config get requirepass


免責聲明!

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



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