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