springBoot上整合redis快取

2021-08-07 12:42:18 字數 3607 閱讀 7439

1.pom.xml引入jar包,如下

org.springframework.bootgroupid>

spring-boot-starter-data-redisartifactid>

dependency>

2.修改專案啟動類,增加註解@enablecaching,開啟快取功能,如下:

package springboot;

import org.springframework.cache.annotation.enablecaching;

import org.springframework.scheduling.annotation.enablescheduling;

@enablescheduling

@enablecaching

public

class

public

static

void

main(string args)

}

# redis資料庫索引(預設為0)

spring.redis

.database=0

# redis伺服器位址

spring.redis

.host=172.31

.19.222

# redis伺服器連線埠

spring.redis

.port=6379

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

spring.redis

.password=

# 連線池最大連線數(使用負值表示沒有限制)

spring.redis

.pool

.max-active=8

# 連線池最大阻塞等待時間(使用負值表示沒有限制)

spring.redis

.pool

.max-wait=-1

# 連線池中的最大空閒連線

spring.redis

.pool

.max-idle=8

# 連線池中的最小空閒連線

spring.redis

.pool

.min-idle=0

# 連線超時時間(毫秒)

spring.redis

.timeout=0

4.新建redis快取配置類redisconfig,如下:

package springboot.config

;import org.springframework

.beans

.factory

.annotation

.value

;import org.springframework

.cache

.cachemanager

;import org.springframework

.cache

.annotation

.cachingconfigurersupport

;import org.springframework

.cache

.annotation

.enablecaching

;import org.springframework

.context

.annotation

.bean

;import org.springframework

.context

.annotation

.configuration

;import org.springframework

.data

.redis

.cache

.rediscachemanager

;import org.springframework

.data

.redis

.connection

.redisconnectionfactory

;import org.springframework

.data

.redis

.core

.redistemplate

;import org.springframework

.data

.redis

.core

.stringredistemplate

;import org.springframework

.data

.redis

.serializer

.jackson2jsonredisserializer;

import com

.fasterxml

.jackson

.annotation

.jsonautodetect

;import com

.fasterxml

.jackson

.annotation

.propertyaccessor

;import com

.fasterxml

.jackson

.databind

;/**

* redis快取配置類

* @author szekinwin

* */

@configuration

@enablecaching

public class redisconfig extends cachingconfigurersupport")

private string host;

@value("$")

private int port;

@value("$")

private int timeout;

//自定義快取key生成策略

@bean

public keygenerator keygenerator()

return sb.tostring();};}

//快取管理器

@bean

public cachemanager cachemanager(redistemplate redistemplate)

//序列化反序列化

@bean

public redistemplateredistemplate(jedisconnectionfactory factory)

}

5.註解含義如下:

@cacheable將查詢結果快取到redis中,(key="#p0")指定傳入的第乙個引數作為redis的key。

@cacheput,指定key,將更新的結果同步到redis中

@cacheevict,指定key,刪除快取資料,allentries=true,方法呼叫後將立即清除快取

6.具體使用如下:

@cacheconfig(cachenames = "users")

public

inte***ce

userrepository

extends

jparepository

SpringBoot的快取處理及整合Redis

前言 本文不編寫快取的具體實現 只講解一些關於快取的具體知識點 關於快取 spring從3.1開始定義了org.springframework.cache.cache 和org.springframework.cache.cachemanager介面來統一不同的快取技術 並支援使用jcache js...

11分鐘學會SpringBoot整合redis元件

本人部落格 不要跟過去的自己比,要期待未來的自己,珍愛現在的自己 org.springframework.bootgroupid spring boot starter data redisartifactid dependency redis資料庫索引 預設為0 spring.redis.data...

springBoot整合dubbo整合專案

傳統spring 整合dubbo,需要繁瑣的編寫一堆堆的 xml 配置檔案 而springboot整合dubbo後,不在需要寫 xml,通過jar包引用,完 成整合,通過註解的形式完成配置。提高我們的開發效率 目錄結構 1 服務層生產者開發 hs ldm server service 1.1新增du...