首頁 > 軟體

springboot自帶的快取@EnableCaching用法

2022-08-16 14:00:52

springboot自帶的快取@EnableCaching

一般使用springboot自帶快取時,直接就在啟動類裡新增註解@EnableCaching 。

@EnableCaching她有兩個經常使用的方法

1.@Cacheable新增快取

  這裡的value 是該快取的名稱,可以隨意寫,而key要嚴格按照查詢條件來寫,比如這裡是查詢條件id.  

   @Cacheable(value = "gathering",key = "#id")
    public Gathering findById(String id) {
        return gatheringDao.findById(id).get();
    }

查詢資料庫已有的資料,第一次快取沒有該資料,直接走資料庫,然後存入快取

第二次查詢該資料,發現快取中存在key已有的資料,直接走快取不走資料庫

2.@CacheEvict 清除快取 

   /**
	 * CacheEvict 清除快取
	 * 刪除
	 * @param id
	 */
	@CacheEvict(value = "gathering",key = "#id")
	public void deleteById(String id) {
		gatheringDao.deleteById(id);
	}
 
   /**
	 * CacheEvict 清除快取
	 * 修改
	 * @param gathering
	 */
	@CacheEvict(value = "gathering",key = "#gathering.id")
	public void update(Gathering gathering) {
		gatheringDao.save(gathering);
	}

Redis可以設定過期時間,springboot自帶的快取不可以。

使用springboot自帶快取步驟

1.在啟動類XXXApplication

新增註解@EnableCaching註解,表示要使用springboot的快取

2.在service層需要使用快取的方法

新增@Cacheable註解value-全域性的key,key-表示某一條記錄的key,程式執行時會優先在快取中根據value和key查詢記錄,找不到才會執行下面查詢語句,執行查詢語句後返回的資料會存到快取中。

3.修改和刪除資料時將快取刪除

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com