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

關(guān)于@CacheEvict無(wú)法解決分頁(yè)緩存清除的解決思路

 更新時(shí)間:2021年12月31日 09:45:43   作者:你聽(tīng)_我說(shuō)  
這篇文章主要介紹了關(guān)于@CacheEvict無(wú)法解決分頁(yè)緩存清除的解決思路,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

@CacheEvict無(wú)法解決分頁(yè)緩存清除

當(dāng)下比較熱門(mén)的spring緩存就是encache,但是最近在寫(xiě)畢業(yè)設(shè)計(jì)的時(shí)候,發(fā)現(xiàn)了在緩存分頁(yè)的時(shí)候,往往只緩存了一頁(yè)數(shù)據(jù),導(dǎo)致點(diǎn)擊下一頁(yè)的時(shí)候,沒(méi)有響應(yīng)。因此花了點(diǎn)時(shí)間去了解了一想@CacheEvict。

在我們緩存一個(gè)數(shù)據(jù)的時(shí)候,都是緩存在一個(gè)key里面,如下

//這是插入的時(shí)候需要清除緩存key里面的內(nèi)容
@CacheEvict(value = "aboutShop", key = "'selectAllShop'")
//這是一開(kāi)始查詢(xún)的時(shí)候,保存到key的內(nèi)容
@Cacheable(value = "aboutShop", key = "'selectAllShop'")
//這是后來(lái)添加了分頁(yè)的緩存key設(shè)置,這樣緩存分頁(yè)了,但是在插入的時(shí)候,無(wú)法更新到查詢(xún)信息
@Cacheable(value = "aboutShop", key = "'selectAllShop_'+#params.pageNo")

這是我的一個(gè)查詢(xún)分頁(yè)并緩存分頁(yè)一開(kāi)始的寫(xiě)法,然而,每次緩存都是緩存了第一頁(yè)

因此,就去看了一下如何解決

了解了兩種寫(xiě)法::

第一種:用spring AOP的方式,循環(huán)遍歷刪除所有帶有前綴selectAllShop的內(nèi)容,

因?yàn)閑ncache沒(méi)有自帶模糊通配符,所有要自己重寫(xiě)一個(gè)方法進(jìn)行匹配刪除。這里有個(gè)博主講的挺好的,我的第一個(gè)方法就是這樣汲取的。

http://www.dbjr.com.cn/article/134394.htm

接下來(lái)講被我吸收利用到畢業(yè)設(shè)計(jì)里面的第二種方法吧!我看完第一種方法,發(fā)現(xiàn)這種方法循環(huán)遍歷刪除,如果數(shù)據(jù)幾十萬(wàn)條的情況下(雖然我的只有一百多條數(shù)據(jù)),遍歷刪除需要的時(shí)間還是不少的。因此我們可以從encache注解熟悉的value里面下手,

我給出的代碼,是我寫(xiě)好的自定義value名稱(chēng),配置大于約定,我在spring-redis.xml中配置一個(gè)RedisCacheManager管理器,并且配置緩存區(qū)間

<!--配置RedisCacheManager-->
    <bean class="org.springframework.data.redis.cache.RedisCacheManager" id="redisCacheManager">
        <constructor-arg name="redisOperations" ref="redisTemplate"/>
        <!--設(shè)置過(guò)期時(shí)間-->
        <property name="defaultExpiration" value="${redis.expiration}"/>
        <!--配置緩存區(qū)間-->
        <property name="cacheNames">
            <list>
                <value>aboutUser</value>
                <value>aboutShop</value>//這是我獨(dú)立出來(lái)的一個(gè)緩存區(qū)間,用來(lái)專(zhuān)門(mén)存放Shop查詢(xún)分頁(yè)的信息
            </list>
        </property>
    </bean>

在插入信息的時(shí)候使用:

//allentries是指清除value里面的所有內(nèi)容
@CacheEvict(value = "aboutShop", allEntries = true)   

這樣就可以實(shí)現(xiàn)插入的時(shí)候,同步緩存分頁(yè)了

spring分頁(yè)緩存

@Cacheable(key = "'myPage_'+#pagePlus.current+'_'+#pagePlus.limit")
public void cachePage(Page pagePlus) {
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring中循環(huán)依賴(lài)的解決方法詳析

    Spring中循環(huán)依賴(lài)的解決方法詳析

    這篇文章主要給大家介紹了關(guān)于Spring中循環(huán)依賴(lài)的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用spring具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Java中使用BigDecimal進(jìn)行精確運(yùn)算

    Java中使用BigDecimal進(jìn)行精確運(yùn)算

    這篇文章主要介紹了Java中使用BigDecimal進(jìn)行精確運(yùn)算的方法,非常不錯(cuò),需要的朋友參考下
    2017-02-02
  • 關(guān)于Spring?Cloud實(shí)現(xiàn)日志管理模塊

    關(guān)于Spring?Cloud實(shí)現(xiàn)日志管理模塊

    這篇文章主要介紹了關(guān)于Spring?Cloud實(shí)現(xiàn)日志管理模塊問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • spring boot 靜態(tài)資源處理方法

    spring boot 靜態(tài)資源處理方法

    本篇文章主要介紹了spring boot 靜態(tài)資源處理方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • JDK14的新特性:instanceof模式匹配的使用

    JDK14的新特性:instanceof模式匹配的使用

    這篇文章主要介紹了JDK 14的新特性:instanceof模式匹配的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Java FastJson使用教程

    Java FastJson使用教程

    這篇文章主要介紹了如何使用FastJson,幫助大家將 Java 對(duì)象轉(zhuǎn)換為 JSON 格式,感興趣的朋友可以了解下
    2020-10-10
  • Springboot?接口需要接收參數(shù)類(lèi)型是數(shù)組問(wèn)題

    Springboot?接口需要接收參數(shù)類(lèi)型是數(shù)組問(wèn)題

    這篇文章主要介紹了Springboot?接口需要接收參數(shù)類(lèi)型是數(shù)組問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • SpringBoot中的@ApiModelProperty注解作用

    SpringBoot中的@ApiModelProperty注解作用

    這篇文章主要介紹了SpringBoot中的@ApiModelProperty注解作用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
    2022-01-01
  • springboot 如何重定向redirect 并隱藏參數(shù)

    springboot 如何重定向redirect 并隱藏參數(shù)

    這篇文章主要介紹了springboot 如何重定向redirect 并隱藏參數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • RocketMQ事務(wù)消息使用與原理詳解

    RocketMQ事務(wù)消息使用與原理詳解

    這篇文章主要為大家介紹了RocketMQ事務(wù)消息的實(shí)現(xiàn)原理,在分布式事務(wù)解決方案中,事務(wù)消息也是一個(gè)不錯(cuò)的解決方案,本篇文章將圍繞RocketMQ的事務(wù)消息實(shí)現(xiàn)展開(kāi)描述,需要的朋友可以參考下
    2023-07-07

最新評(píng)論