數據緩存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 組合多個註解策略在一個方法上數據庫