IT|資料庫|Key-Value|Redis 在 Spring Boot 實現緩存操作
緩存的應用場景 [什麼是緩存?] 在互聯網場景下,尤其 2C 端 產品 ( 比如社交類的微信,手機類的小米. 這類產品的開發 )在大流量場景下,需要將一些經常展現和不會頻繁變更的數據,存放在存取速率更快的地方。 緩存就是一個存儲器,在技術選型中,常用 Redis 作為緩存資料庫。緩存主要是在獲取資源方便性能優化的關鍵方面。 Redis 是一個高性能的 key-value 資料 庫。 [緩存的應用場景有哪些呢?] 比如常見的電商場景,根據商品 ID 獲取商品信息時,店鋪信息和商品詳情信息就可以緩存在 Redis ,直接從 Redis 獲取。減少了去數據庫查詢的次數。但會出現新的問題,就是如何對緩存進行更新? 大致流程如下: 獲取商品詳情舉例 a. 從商品 Cache 中獲取商品詳情,如果存在,則返回獲取 Cache 資料返回。 b. 如果不存在,則從商品 DB 中獲取。獲取成功後,將資料存到 Cache 中。則下次獲取商品詳情,就可以從 Cache 就可以得到商品詳情資料。 c. 從商品 DB 中更新或者刪除商品詳情成功後,則從緩存中刪除對應商品的詳情緩存 更新缓存的策略 2017-06-12 Mon 參考 《緩存更新的套路》 ,緩存更新的模式有四種: 1、Cache aside 2、Read through 3、Write through 4、Write behind caching 這裡使用的是 「Cache Aside」 策略,此策略可從三個維度來說明: 失效:應用程序先從cache取數據,沒有得到,則從數據庫中取數據,成功後,放到緩存中。 命中:應用程序從cache中取數據,取到後返回。 更新:先把數據存到數據庫中,成功後,再讓緩存失效 實作 [執行環境] Mac OS 10.12.x JDK 8 + Redis 3.2.8 Spring Boot 1.5.1.RELEASE 程式碼下載(github): https://github.com/ntausr4/Test-Tech-SpringBoot-mybatis-Redis 程式相關說明: * @comment 首先這