springboot自帶的緩存@EnableCaching用法

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.修改和刪除數據時將緩存刪除

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: