首页 > 作文

关于@CacheEvict无法解决分页缓存清除的解决思路

更新时间:2023-04-04 08:54:37 阅读: 评论:0

目录
@cacheevict无法解决分页缓存清除了解了两种写法::spring分页缓存

@cacheevict无法解决分页缓存清除

当下比较热门的spring缓存就是en团队队名和口号cache,但是最近在写毕业设计的时候,发现了在缓存分页的时候,往往只缓存了一页数据,导致点击下一页的时候,没有响应。因此花了点时间去了解了一想@cacheevict。

在我们缓存一个数据的时候,都是缓存在一个key里面,如下

//这是插入的时候需要清除缓存key里面的内容@cacheevict(value = "abouts国庆节见闻作文hop", key = "'lectallshop'")
//这是一开始查询的时候,保存到key的内容@cacheable(value = "aboutshop", key = "'lectallshop'")
//这是后来添加了分页的缓存key设置,这样缓存分页了,但是在插入的时候,无法更新到查询信息@cacheable(value = "aboutshop", key = "'lectallshop_'+#params.pageno")

这是我的一个查询分页并缓存分页一开始的写法,然而,每次缓存都是缓存了第一页

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

了解了两种写法::

第一种:用spring aop的方式,循环遍历删除所有带有前缀lectallshop的内容,

因为encache没有自带模糊通配符,所有要自己重写一个方法进行匹配删除。这里有个博主讲的挺好的,我的第一个方法就是这样汲取的。

接下来讲被我吸收利用到毕业设计里面的第二种方法吧!我看完第一种方法,发现这种方法循环遍历删除,如果数据几十万条的情况下(虽然我的只有一百多条数据),遍历删除需要的时间还是不少的。因此我们可以从encache注解熟悉的value里面下手,

我给出的代码,是我写好的自定义value名称,配爱国人物置大于约定,我在sprin新年倒计时g-redis.xml中配置一个rediscachemanager管理器,并且配置刺猬吃什么缓存区间

<!--配置rediscachemanager-->    <bean class="org.springframework.data.redis.cache.rediscachemanager" id="rediscachemanager">        <constructor-arg name="redisoperations" ref="redistemplate"/>        <!--设置过期时间-->        <property name="defaultexpiration" value="${redis.expiration}"/>        <!--配置缓存区间-->        <property name="cachenames">            <list>                <value>aboutur</value>                <value>aboutshop</value>//这是我独立出来的一个缓存区间,用来专门存放shop查询分页的信息            </list>        </property>    </bean>

在插入信息的时候使用:

//allentries是指清除value里面的所有内容@cacheevict(value = "aboutshop", allentries = true)   

这样就可以实现插入的时候,同步缓存分页了

spring分页缓存

@cacheable(key = "'mypage_'+#pageplus.current+'_'+#pageplus.limit")public void cachepage(page pageplus) {}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持www.887551.com。

本文发布于:2023-04-04 08:54:35,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/810529cedae64b936ab793826e4583e4.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:关于@CacheEvict无法解决分页缓存清除的解决思路.doc

本文 PDF 下载地址:关于@CacheEvict无法解决分页缓存清除的解决思路.pdf

标签:缓存   分页   这是   遍历
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图