我門知道乙個程式的瓶頸在於資料庫,我門也知道記憶體的速度是大大快於硬碟的速度的。當我門需要重複的獲取相同的資料的時候,我門一次又一次的請求資料庫或者遠端服務,導致大量的時間耗費在資料庫查詢或者遠端方法的呼叫上,導致程式效能的惡化,這更是資料快取要解決的問題。
spring定義了 org.springframework.cache.cachemanager和org.springframework.cache.cache介面 來統一不同的快取技術。其中,cachemanager是spring提供的各種快取技術抽象介面,cache介面包含了快取的各種操作(增加、刪除獲得 快取,我門一般不會直接和此介面打交道)
針對不同的快取技術,需要實現不同的cachemanager ,spring 定義了如下表的cachemanager實現。
實現任意一種cachemanager 的時候,需要註冊實現cachemanager的bean,當然每種快取技術都有很多額外的配置,但配置cachemanager 是必不可少的。
spring提供了4個註解來宣告快取規則(又是使用註解式的aop的乙個生動例子),如表。
開啟宣告式快取支援非常簡單,只需要在配置類上使用@enabelcaching 註解即可。
在spring中國年使用快取技術的關鍵是配置cachemanager 而springbok 為我門自動配置了多個cachemanager的實現。在spring boot 環境下,使用快取技術只需要在專案中匯入相關快取技術的依賴包,並配置類使用@enabelcaching開啟快取支援即可。
學習的例子參考
springBoot之基礎篇
關於如何去建立springboot專案,本人就不多說了.用idea建立springboot是非常快捷的,詳情請參照一下連線,用idea快速搭建springboot專案 import org.springframework.web.bind.annotation.restcontroller rest...
Springboot之redis快取(二)
基於centos7的虛擬機器中,可以用阿里雲映象加速 docker pull mirror.aliyuncs.com library redis 根據自己註冊阿里雲的賬號而不同。阿里雲登入 進去找容器映象服務 安裝好後執行redis,將虛擬機器埠對映到docker埠 docker run d p 6...
SpringBoot學習小結之快取
使用快取的好處有 壞處有 下面以springboot2.1.6.release為例,學習快取的使用 org.springframework.bootgroupid spring boot starter cacheartifactid dependency springboot 提供幾個註解實現快取...