spring redis做快取使用

2022-07-10 12:03:10 字數 2141 閱讀 8223

redis 是目前業界使用最廣泛的記憶體資料儲存。相比 memcached,redis 支援更豐富的資料結構,例如 hashes, lists, sets 等,同時支援資料持久化。除此之外,redis 還提供一些類資料庫的特性,比如事務,ha,主從庫。可以說 redis 兼具了快取系統和資料庫的一些特性,因此有著豐富的應用場景。本文介紹 redis 在 spring boot 中兩個典型的應用場景。

1、引入依賴包

org.springframework.bootgroupid>

spring-boot-starter-data-redisartifactid>

dependency>

org.apache.commonsgroupid>

commons-pool2artifactid>

dependency>

spring boot 提供了對 redis 整合的元件包:spring-boot-starter-data-redisspring-boot-starter-data-redis依賴於spring-data-redislettuce。spring boot 1.0 預設使用的是 jedis 客戶端,2.0 替換成 lettuce,但如果你從 spring boot 1.5.x 切換過來,幾乎感受不大差異,這是因為spring-boot-starter-data-redis為我們隔離了其中的差異性。

lettuce 是乙個可伸縮執行緒安全的 redis 客戶端,多個執行緒可以共享同乙個 redisconnection,它利用優秀 netty nio 框架來高效地管理多個連線。

2、新增配置檔案

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

spring.redis.database=0

# redis伺服器位址

spring.redis.host=localhost

# redis伺服器連線埠

spring.redis.port=6379

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

spring.redis.password=# 連線池最大連線數(使用負值表示沒有限制) 預設 8

spring.redis.lettuce.pool.max-active=8

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

spring.redis.lettuce.pool.max-wait=-1

# 連線池中的最大空閒連線 預設 8

spring.redis.lettuce.pool.max-idle=8

# 連線池中的最小空閒連線 預設 0

spring.redis.lettuce.pool.min-idle=0

3、新增 cache 的配置類

@configuration

@enablecaching

public class redisconfig extends cachingconfigurersupport

return sb.tostring();}};

}}

注意我們使用了註解:@enablecaching來開啟快取。

3、好了,接下來就可以直接使用了

@runwith(springrunner.class)

@springboottest

public class testredis

@test

public void testobj() throws exception else

// assert.assertequals("aa", operations.get("com.neo.f").getusername());

}}

以上都是手動使用的方式,如何在查詢資料庫的時候自動使用快取呢,看下面;

4、自動根據方法生成快取

@restcontroller

public class usercontroller

}

其中 value 的值就是快取到 redis 中的 key

springboot中Cache快取的使用

org.springframework.boot spring boot starter cache enablecaching public static void main string args cacheable 根據方法請求引數對其結果進行快取 查詢 自定義配置類配置keygenerato...

python 裝飾器做快取

裝飾器在之前的文章中有講過,這裡主要是說了裝飾器的用法和應該怎麼理解。這片文章給出一片補充 主要說在快取方面的應用。在此之前呢,需要補充一些知識點 就是 python 查詢變數的順序是什麼?答案就是legb原則 也就是 local enclosed global built in 也就是先在區域性作...

springboot使用redis做快取

org.springframework.bootgroupid spring boot starter data redisartifactid dependency redis host 121.89.192.157 port 6379 jedis pool max active 25 max i...