springboot @Cacheable 基本使用


加入依賴

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-cache</artifactId>
</dependency>

開啟注解緩存

在啟動類上加入 @EnableCaching

緩存注解

  1. @Cacheable :對方法結果進行緩存(主要用於GET方法)
    1. cacheNames/value:指定緩存主鍵(Cache)的名字
    2. key:緩存數據使用key,支持spEl語法
    3. keyGenerator:key的生成器。與key屬性沖突,自定義 keyGenerator 必須實現org.springframework.cache.interceptor.KeyGenerator,default使用默認的參數值生成器
    4. cacheManager:指定緩存管理器,或者cacheResolver指定獲取解析器
    5. cacheResolver: 與CacheManager沖突
    6. condition:指定條件滿足才緩存,與unless相反。可以使用spEL語法
    7. unless:否定緩存,當滿足條件時,結果不被緩存。可以獲取到結果(#result)進行判斷。支持spEL語法
    8. sync:是否異步模式。在該模式下unless不被支持。default=false
  2. @CachePut:先調用方法,在對結果進行緩存。(主要用於PUT方法),需要注意key的設置
  3. @CacheEvict:默認先調用方法,在刪除緩存(主要用於DELETE方法)
    1. allEntries: 刪除緩存組件中(cacheNames/value指定)所有的值
    2. beforeInvocation:在方法執行之前刪除值,default=false
  4. @Caching:組合注解。針對復雜情況
  5. @CacheConfig:加載類上,用於設置緩存的共有屬性


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM