当前位置: 首页 > 知识库问答 >
问题:

如何设置二级缓存的过期时间?

农英杰
2023-03-14

我无法使用Ehcache设置二级缓存的过期时间
有什么方法可以配置到期时间吗?

implementation 'org.springframework.boot:spring-boot-starter-cache'
implementation 'org.hibernate:hibernate-jcache:5.6.5.Final'
implementation 'org.ehcache:ehcache:3.9.9'
spring:
  jpa:

    properties:
      javax:
        persistence:
          sharedCache:
            mode: ENABLE_SELECTIVE   # Enable caches only @Cacheable annotated classes
      hibernate:
        cache:
          use_query_cache: true
          use_second_level_cache: true
          region:
            factory_class: org.hibernate.cache.jcache.JCacheRegionFactory
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Entity
@Cacheable
@Cache(region = "test_cache", usage = CacheConcurrencyStrategy.READ_WRITE)
public class Test {
.
.
.
}

共有1个答案

朱淮晨
2023-03-14

是的,有办法。

  1. 将你的factory_类更改为org。冬眠隐藏物ehcache。EhCacheRegionFactory
  2. 创建一个ehcache。xml/src/main/resources中包含以下内容:
   ...
   <cache-template name="default">
      <expiry>
         <ttl unit="hours">48</ttl>
      </expiry>
    </cache-template>
   ...

有关XML配置的详细信息,请访问https://www.ehcache.org/documentation/3.9/xml.html

 类似资料:
  • 当你使用本地(在内存中)缓存时,服务器可以缓存一些信息并快速地检索它,但是其他服务器不能访问这个缓存数据,他们需要到数据库中查询同样的信息。 如果你喜欢使用分布式缓存让其他服务器访问缓存的数据,由于它有一些序列化/反序列化和网络延迟开销,则需要注意:在某些情况下,它可能会降低性能。 缓存需要处理的另一个问题:缓存失效。 There are only two hard things in Compu

  • 本文向大家介绍Java缓存Map设置过期时间实现解析,包括了Java缓存Map设置过期时间实现解析的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了Java缓存Map设置过期时间实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 前言 最近项目需求需要一个类似于redis可以设置过期时间的K,V存储方式。项目前期暂时不引进redis

  • 1、一级缓存:指的是mybatis中sqlSession对象的缓存,当我们执行查询以后,查询的结果会同时存入sqlSession中,再次查询的时候,先去sqlSession中查询,有的话直接拿出,当sqlSession消失时,mybatis的一级缓存也就消失了,当调用sqlSession的修改、添加、删除、commit()、close()等方法时,会清空一级缓存。 2、二级缓存:指的是mybati

  • 我有一个关于内存系统遵循的策略的基本问题。 考虑一个具有私有L1和L2缓存的核心。在L2缓存之后,我们有一个相干流量运行的总线。现在,如果从L2高速缓存中逐出地址(X)的高速缓存行,是否有必要从L1高速缓存中逐出该地址?? 逐出的原因可能是它有助于保持一致性协议的不变[如果l2中的一行显示无效,则此核心不包含此地址]。

  • 我们目前正在使用下面的。它很旧,但现在无法升级到更高版本 我们已经将代码从直接JDG实现(如下所示)修改为基于XML的配置文件中的SpringRemteCacheManager,并使用Spring cache:建议来定义可缓存、cahce-put、cache-evict方法。 请参阅当前代码,其中我们可以控制添加到期时间。我们也想用Spring-Infinispan做类似的事情。使用Spring-

  • dnsmasq如何配置本地的缓存时间过期后重新向指定的DNS(server=)服务器发起请求,以获取该域名的IP地址?我使用两台dnsmasq,一台为dns解析服务,提供域名解析ip,另外一台在/etc/dnsmasq.d/address.config中配置server=该机器ip(那台机器提供DNS服务)。我在提供服务的机器上将A记录改了,dig出来的还是之前的A记录。如何在dnsmasq中配置