1. 程式人生 > >Spring支援的CacheManager

Spring支援的CacheManager

    資料快取Cache
    為何要用快取、快取的目的是為了什麼?
    我們知道一個程式的瓶頸在於資料庫,記憶體的速度遠遠大於硬碟的速度,當我們一次又一次
    請求資料庫或遠端服務時會導致大量的時間耗費在資料庫操作或遠端方法呼叫上,以致於
    程式效能惡化,使用資料快取可以解決此問題
    屬性                                                          描述
    SimpleCacheManager                  

使用簡單的Collection來儲存快取,主要用來測試用途
    ConcurrentMapCacheManager   使用ConcurrentMap來儲存快取
    NoOpCacheManager                   僅測試用途,不會實際儲存快取
    EhCacheCacheManger               
使用EhCache作為快取技術
    GuavaCacheManager                 使用Google Guava的GuavaCache作為快取技術
    HazelcastCacheManager           使用Hazelcast作為快取技術
    JCacheCacheManager               
支援JCache(JSR-107)標準的實現作為快取技術
    RedisCacheManager                 使用Redis作為快取技術    
    
    快取註解式
    註解                                  描述
    @Cacheable                   在方法執行前Spring先檢視快取中是否有資料,如果有資料則直接返回快取
                                 資料。反之呼叫方法並將方法返回值放入快取填充。
    @CachePut                    無論快取是否有資料,都會將方法的返回值放入快取。
    @CacheEvict                  將一條或多條資料從快取中刪除。
    @Caching                     組合多個註解策略在一個方法上