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

@CacheEvict 清除多個(gè)key的實(shí)現(xiàn)方式

 更新時(shí)間:2021年02月13日 11:14:46   作者:Amy##  
這篇文章主要介紹了@CacheEvict 清除多個(gè)key的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

借用@Caching實(shí)現(xiàn)

入?yún)⑹腔绢?lèi)型的:

@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) {
………………
}

入?yún)⑹菍?duì)象的:

@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;
  }

補(bǔ)充:@CacheEvict 模糊刪除緩存問(wèn)題-RedisTemplate 模糊key刪除緩存

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

于是,方法有了

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

第一步:

獲取key

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

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

第二步:

判斷 keys 非空,然后進(jìn)行刪除

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

總結(jié):

刪除緩存的時(shí)候,如果 keys 是空的,則沒(méi)有反應(yīng),因?yàn)椴榭丛创a可知,redisTemplate 幫你判斷了,如果是 空的則 return

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

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • 你可能真沒(méi)用過(guò)這些 IDEA 插件(建議收藏)

    你可能真沒(méi)用過(guò)這些 IDEA 插件(建議收藏)

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

    Java實(shí)現(xiàn)斷點(diǎn)下載服務(wù)端與客戶(hù)端的示例代碼

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

    maven多模塊依賴(lài)版本不一致問(wèn)題解決

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

    JPA配置方式+逆向工程映射到Entity實(shí)體類(lèi)

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

    淺析Java中的內(nèi)存泄漏

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

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

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

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

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

    如何解決異步任務(wù)上下文丟失問(wèn)題

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

    Mybatis實(shí)現(xiàn)Mapper動(dòng)態(tài)代理方式詳解

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

    Netty的Handler鏈調(diào)用機(jī)制及如何組織詳解

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

最新評(píng)論