关于springmvc 和ehcache问题

关于springmvc 和ehcache问题

长安忆 发布于 2021-11-25 字数 2391 浏览 725 回复 2

今天在给spring mvc 增加缓存的机制的时候用到了chcache,不过现在有个问题来了

两张图是访问同一个链接的日志,操作了两次数据库,这让我很郁闷,是不是缓存没生效,接下来看下配置文件

<?xml version="1.0" encoding="UTF-8"?>
 <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd"  updateCheck="false">
   <diskStore path="java.io.tmpdir"/> 
  <defaultCache eternal="false"
  maxElementsInMemory="1000" 
 overflowToDisk="false" 
 diskPersistent="false" 
 timeToIdleSeconds="0" 
 timeToLiveSeconds="600"  
memoryStoreEvictionPolicy="LFU"/> 
  <cache name="baseCache"  eternal="false"  maxElementsInMemory="500" 
 overflowToDisk="false"  diskPersistent="false"  timeToIdleSeconds="0"  
timeToLiveSeconds="300"  memoryStoreEvictionPolicy="LFU"/> 
 </ehcache> 
<bean id="cacheManagerFactory" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">  <property name="configLocation" value="classpath:config/ehcache.xml"/> </bean> 
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">  <property name="cacheManager" ref="cacheManagerFactory"/> </bean>
<cache:annotation-driven cache-manager="cacheManager"/>

接下来是要缓存的imp

@Cacheable(value = "baseCache",key = "#page_Size")
@Override public PageInfo<T_comment> selectByPage(int page_Num, int page_Size) {.......... }

调用的url

@RequestMapping("/admin") @Procedure(description = "登录了admin") 
public String admin(){
    System.out.println( commentServiceImp.selectByPage(1,5).toString());  
return "admin/admin"; }

于是乎出现了上面的问题

这是什么原因

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

女中豪杰 2021-12-01 2 楼

哦哦哦,不过我另一个aop写日志的,并没有失效

小瓶盖 2021-12-01 1 楼

一定要清楚,Spring的缓存是基以代理的AOP,所以。。。什么情况下会导致AOP失效,也就清楚了