springboot2.0預設採用lettuce客戶端來連線redis服務端的.預設是不使用連線池的,只有配置 redis.lettuce.pool下的屬性的時候才可以使用到redis連線池。
匯入依賴
org.springframework.boot
spring-boot-starter-data-redis
org.apache.commons
commons-pool2
配置檔案
# redis資料庫索引(預設為0)
spring.redis.database=0
# redis伺服器位址
# redis伺服器連線埠
# redis伺服器連線密碼(預設為空)
# 連線超時時間(毫秒)
spring.redis.timeout=20000
# 連線池最大連線數(使用負值表示沒有限制)
spring.redis.lettuce.pool.max-active=500
# 連線池最大阻塞等待時間(使用負值表示沒有限制)
spring.redis.lettuce.pool.max-wait=-1
# 連線池中的最大空閒連線
spring.redis.lettuce.pool.max-idle=10
# 連線池中的最小空閒連線
spring.redis.lettuce.pool.min-idle=0
配置類
import org.springframework.context.annotation.bean;
import org.springframework.context.annotation.configuration;
import org.springframework.data.redis.connection.lettuce.lettuceconnectionfactory;
import org.springframework.data.redis.core.redistemplate;
import org.springframework.data.redis.serializer.jackson2jsonredisserializer;
import org.springframework.data.redis.serializer.stringredisserializer;
import com.fasterxml.jackson.annotation.jsonautodetect;
import com.fasterxml.jackson.annotation.propertyaccessor;
@configuration
public class redisconfig ")
private int corepoolsize;
@value("$")
private int maxpoolsize;
/*** 用於spring session,防止每次建立乙個執行緒
* @return
*/@bean
public threadpooltaskexecutor springsessionredistaskexecutor()
@bean
@suppresswarnings("all")
public redistemplateredistemplate()
}
redis使用
import lombok.extern.slf4j.slf4j;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.data.redis.core.redistemplate;
import org.springframework.data.redis.core.zsetoperations.typedtuple;
import org.springframework.stereotype.component;
import org.springframework.util.collectionutils;
@slf4j
@component
public class redisutil
return true;
} catch (exception e)
}/**
* 根據key 獲取過期時間
* @param key 鍵 不能為null
* @return 時間(秒) 返回0代表為永久有效
*/public long getexpire(string key)
/*** 判斷key是否存在
* @param key 鍵
* @return true 存在 false不存在
*/public boolean haskey(string key) catch (exception e) }}
檢查是否配置好連線池
在啟動專案時debug檢視connectionfactory的資訊,如果連線池生效,則其中的connectionprovider中有poolconfig(連線池的資訊)
spring session使用配置redis
1.新增依賴 dependency groupid org.springframework.session groupid artifactid spring session data redis artifactid version 1.2.0.release version dependency...
SpringBoot常用配置
前言 springboot整合了主流的第三方框架,但是需要使用springboot那一套配置方式。但是我這裡只列舉了非常非常常用的,可以看已發的幾篇部落格,慢慢會補充。當然官方文件裡也有相應的配置,可惜沒有注釋。spring.resources.cache period 設定資源的快取時效,以秒為單...
Spring boot自動配置
1 從原始碼角度看spring boot 自動配置 這個方法呼叫的是 initialize sources suppresswarnings private void initialize object sources this.webenvironment deducewebenvironment...