如何在使用 redis 注解時(shí)設(shè)置緩存過期時(shí)間?導(dǎo)入 redis 依賴項(xiàng)。使用 @cacheable 和 @cacheput 注解的 ttl 屬性。ttl 屬性指定緩存的過期時(shí)間,單位為秒。
Redis 注解設(shè)置緩存過期時(shí)間
問題:如何在使用 Redis 注解時(shí)設(shè)置緩存過期時(shí)間?
答案:
要在使用 Redis 注解時(shí)設(shè)置緩存過期時(shí)間,可以使用 @Cacheable
和 @CachePut
注解的 ttl
屬性。
具體步驟:
- 導(dǎo)入 Redis 依賴項(xiàng):
<code class="xml"><dependency><groupid>org.springframework.boot</groupid><artifactid>spring-boot-starter-data-redis</artifactid></dependency></code>
登錄后復(fù)制
- 使用
@Cacheable
注解:<code class="java">@Cacheable(value = "cacheName", key = "#key", ttl = 300) public Object get(Object key) { // 邏輯代碼 }</code>
登錄后復(fù)制
其中:
value
指定緩存名稱
key
指定緩存的鍵
ttl
指定緩存的過期時(shí)間,單位為秒
- 使用
@CachePut
注解:<code class="java">@CachePut(value = "cacheName", key = "#key", ttl = 300) public Object put(Object key, Object value) { // 邏輯代碼 }</code>
登錄后復(fù)制
上述示例中,get()
方法獲取緩存中的數(shù)據(jù),如果緩存中沒有數(shù)據(jù),則執(zhí)行邏輯代碼并緩存結(jié)果 5 分鐘。而 put()
方法將數(shù)據(jù)放入緩存中,并設(shè)置過期時(shí)間為 5 分鐘。
注意:
ttl
屬性可以設(shè)置為任意正整數(shù),單位為秒。
如果沒有指定 ttl
屬性,則緩存將永不過期。