springboot~Cache註解緩存在代碼中的獲取

對於springboot中基於方法的緩存Caching來說,我們直接以聲明的方式添加,刪除這些緩存,而它們在redis這種持久化產品中,通過value::key的方法組成一個redis.key,在業務方法中,可以通過這種key來手動獲取它們。

  • 註解聲明
	@CacheEvict(value = CacheConstants.USER_DETAILS, key = "#sysUser.username")
	public Boolean removeUserById(SysUser sysUser) {
		sysUserRoleMapper.deleteByUserId(sysUser.getUserId());
		this.removeById(sysUser.getUserId());
		return Boolean.TRUE;
	}

  • 業務代碼中獲取
Cache cache = cacheManager.getCache(CacheConstants.USER_DETAILS);
if (cache != null && cache.get(username) != null) {
  return (PigUser) cache.get(username).get();
}
  • redis中的存儲
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章