欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

@CacheEvict 清除多個key的實現方式

 更新時間:2021年02月13日 11:14:46   作者:Amy##  
這篇文章主要介紹了@CacheEvict 清除多個key的實現方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

借用@Caching實現

入參是基本類型的:

@Caching(evict={@CacheEvict(value = Cache.CONSTANT, key = "'" + CacheKey.SINGLE_ROLE_NAME + "'+#roleId"),
      @CacheEvict(value = Cache.CONSTANT, key = "'" + CacheKey.ROLES_NAME + "'+#roleId"),
      @CacheEvict(value = Cache.CONSTANT, key = "'" + CacheKey.SINGLE_ROLE_NAME + "'+#roleId")})
public ResponseData remove(@RequestParam Long roleId) {
………………
}

入參是對象的:

@Caching(evict={@CacheEvict(value = Cache.CONSTANT, key = "'" + CacheKey.SINGLE_ROLE_NAME + "'+#roleDto.roleId"),
      @CacheEvict(value = Cache.CONSTANT, key = "'" + CacheKey.ROLES_NAME + "'+#roleDto.roleId"),
      @CacheEvict(value = Cache.CONSTANT, key = "'" + CacheKey.SINGLE_ROLE_NAME + "'+#roleDto.roleId")})
  public ResponseData edit(RoleDto roleDto) {
    this.roleService.editRole(roleDto);
    return SUCCESS_TIP;
  }

補充:@CacheEvict 模糊刪除緩存問題-RedisTemplate 模糊key刪除緩存

緩存管理使用注解形式,非常方便了我們的使用,然而今天我想 使用 @CacheEvict 的實和key 進行 模糊刪除,發(fā)現 @CacheEvict 貌似不支持這樣的操作,然后想起 RedisTemplate 好像支持 key的模糊匹配。

于是,方法有了

既然@CacheEvict做不到,那就用 RedisTemplate

第一步:

獲取key

這里的key就是 :  user:role* 這樣的

Set<Object,Object> keys = redisTemplate.keys( key );

第二步:

判斷 keys 非空,然后進行刪除

if (CollectionUtils.isNotEmpty(keys)) {
     redisTemplate.delete(keys);
}

總結:

刪除緩存的時候,如果 keys 是空的,則沒有反應,因為查看源碼可知,redisTemplate 幫你判斷了,如果是 空的則 return

此處也有可能刪不掉,刪不掉很可能就是 key 的序列化問題

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關文章

  • 你可能真沒用過這些 IDEA 插件(建議收藏)

    你可能真沒用過這些 IDEA 插件(建議收藏)

    IDEA 全稱 IntelliJ IDEA,是java編程語言開發(fā)的集成環(huán)境。IntelliJ在業(yè)界被公認為最好的java開發(fā)工具。這篇文章主要介紹 IDEA 必用插件的安裝及用法,需要的朋友可以參考下
    2020-08-08
  • Java實現斷點下載服務端與客戶端的示例代碼

    Java實現斷點下載服務端與客戶端的示例代碼

    這篇文章主要為大家介紹了如何實現服務端(Spring Boot)與客戶端(Android)的斷點下載與下載續(xù)傳功能,文中的示例代碼講解詳細,需要的可以參考一下
    2022-08-08
  • maven多模塊依賴版本不一致問題解決

    maven多模塊依賴版本不一致問題解決

    本文主要介紹了maven多模塊依賴版本不一致問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • JPA配置方式+逆向工程映射到Entity實體類

    JPA配置方式+逆向工程映射到Entity實體類

    這篇文章主要介紹了JPA配置方式+逆向工程映射到Entity實體類,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 淺析Java中的內存泄漏

    淺析Java中的內存泄漏

    這篇文章主要介紹了Java中的內存泄漏,包括其基本概念和基本的預防措施,需要的朋友可以參考下
    2015-07-07
  • struts2入門(搭建環(huán)境、配置、示例)詳解

    struts2入門(搭建環(huán)境、配置、示例)詳解

    這篇文章主要介紹了struts2入門(搭建環(huán)境、配置、示例)詳解,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • 一文詳解如何使用Java分割PDF文件

    一文詳解如何使用Java分割PDF文件

    PDF是一種用于顯示和打印文檔的文件格式,它非常廣泛地應用于電子書籍、報告、合同等文件的傳遞和共享,這篇文章主要給大家介紹了關于如何使用Java分割PDF文件的相關資料,需要的朋友可以參考下
    2024-01-01
  • 如何解決異步任務上下文丟失問題

    如何解決異步任務上下文丟失問題

    在多線程編程中,異步任務可能會導致上下文信息丟失,為了解決這個問題,可以在執(zhí)行異步任務前,通過自定義TaskDecorator拷貝主線程的上下文至子線程,這樣可以確保上下文在異步執(zhí)行過程中得以保留,將定制的TaskDecorator設置至線程池,可以有效地解決上下文丟失問題
    2024-09-09
  • Mybatis實現Mapper動態(tài)代理方式詳解

    Mybatis實現Mapper動態(tài)代理方式詳解

    這篇文章主要為大家詳細介紹了Mybatis實現Mapper動態(tài)代理方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Netty的Handler鏈調用機制及如何組織詳解

    Netty的Handler鏈調用機制及如何組織詳解

    這篇文章主要為大家介紹了Netty的Handler鏈調用機制及如何組織示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03

最新評論