Springboot 配置redis連線池

2021-09-29 09:29:08 字數 2935 閱讀 2375

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伺服器位址

[email protected]@

# redis伺服器連線埠

[email protected]@

# redis伺服器連線密碼(預設為空)

[email protected]@

# 連線超時時間(毫秒)

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...