springboot 中Redis快取應用

2021-09-23 22:37:47 字數 1269 閱讀 4073

第一在主啟動類中 加入

@enablecaching()

@enablecaching //開啟註解

public static void main(string args) }

注意面向前端的vo 需要例項化 實現 serializable介面  

要不然會報錯 

1.在我們處理的類中加上快取註解 

怎麼理解呢? 其實我們這個方法返回的物件資料放回到了快取中 。

第一次走進入這個方法 ,第二次就不會進這個方法裡面了 ,可以debug測試下。 

那麼問題來了 ? 如果我們後台修改了資料且不是快取裡面還沒有變? 

怎麼辦呢? 

在後天呼叫的方法上面新增註解

@cacheevict(cachenames="product",key="123");

就是每執行這個 方法我們就把product這個包給清除掉。

然後再次呼叫list這個方法的時候第一次還是會進入方法內 從第二次就開始從快取裡面讀取

@cacheput(cachenames="",key="")  只能在放回值一樣的時候才可以使用和  @cacheable搭配只用 。@cacheable只放在不對資料修改的一方。

新增條件判斷

key=「#sellid」 後面可以加上condition=「#sellid.length()>3」如果引數大於3的話第一次進入方法第二次就會進快取區拿。還有引數必須傳入,不然會報錯。

最後乙個點:

因為我們放回的結果如果code ==0  為正確結果 進行快取,如果code=1 那麼就不需要快取了 。只對正確的快取怎麼做呢?

需要取反值。

Spring Boot系列筆記 整合Redis

autowired stringredistemplate stringredistemplate autowired redistemplate redistemplate redistemplate類中提供了redis常見的五種資料型別 stringredistemplate.opsforval...

springboot2 x基礎 整合redis

在springboot中一般使用redistemplate提供的方法來操作redis。那麼使用springboot整合redis 需要那些步驟呢。環境安裝 任選 centos7 搭建redis 5單機服務 centos7 搭建 redis 5 cluster 集群服務 在專案中新增 spring b...

Redi中Lua指令碼拓展

redis中提供了multi和exec兩個命令來使一組命令的執行能夠保證事務特性,在事務中執行的命令不會馬上執行,而是返回queued,當執行 現命令錯誤的操作時,已執行的命令不會成功。當在某些情況下,操作某個鍵時,需要該鍵在事務過程中沒有被修改才執行成功時,通過watch命令來實現,如果事務過程中...