当前位置: 首页 > 面试题库 >

我可以为@Cacheable设置TTL吗

赫连俊雄
2023-03-14
问题内容

我正在尝试@Cacheable对Spring 3.1
的批注支持,并且想知道是否有任何方法可以通过设置TTL在一段时间后清除缓存的数据?现在,从我看到的内容中,我需要使用@CacheEvict和自己清除它,并与@Scheduled我一起使用可以实现TTL实现,但是对于这样一个简单的任务来说似乎有点多了吗?


问题答案:

参见http://static.springsource.org/spring/docs/3.1.x/spring-framework-
reference/htmlsingle/spring-framework-reference.html#cache-specific-
config

如何设置TTL / TTI /驱逐策略/ XXX功能?

直接通过您的缓存提供程序。缓存抽象是…嗯,抽象不是缓存实现

因此,如果您使用EHCache,请使用EHCache的配置来配置TTL。

您也可以使用Guava的CacheBuilder来构建缓存,并将该缓存的ConcurrentMap视图传递给ConcurrentMapCacheFactoryBean的setStore方法。



 类似资料:
  • 问题内容: 我正在尝试对Spring 3.1 的注释支持,并且想知道是否有任何方法可以通过设置TTL在一段时间后清除缓存的数据?现在,从我看到的内容中,我需要使用和自己清除它,并与我一起使用可以实现TTL实现,但是对于这样一个简单的任务来说似乎有点多了吗? 问题答案: 如何设置TTL / TTI /驱逐策略/ XXX功能? 直接通过你的缓存提供程序。缓存抽象是…好吧,抽象不是缓存实现 因此,如果你

  • 问题内容: 我可以在Redis中设置全局TTL吗?每次设置密钥时,都无需设置TTL。 我用谷歌搜索,但找不到任何线索。看来似乎无法完成? 谢谢。 问题答案: 不,Redis没有全局/默认TTL的概念,是的,您必须为每个键分别设置它。但是,根据您的要求和要执行的操作,可能还有其他方法可以实现您的目标。换句话说,您为什么需要它? 例如,如果您想将Redis用作缓存,而不必担心必须删除“旧”项目,则只需

  • 我在OpenID Connect中使用KeyCloak。 我在与KeyCloak相同的域上有一个应用程序。此应用程序有一个终结点,该终结点将授权代码作为参数,并在响应中设置“KEYCLOAK_IDENTITY”cookie 以启用 SSO。 它有效,但这样做安全吗? 编辑:我的问题是关于饼干的。我解释“为什么”只是为了给出一些背景。 编辑2:对于想要使用这个解决方案的人来说,我真的很关心钥匙斗篷社

  • 问题内容: 我在Tomcat上有一个Web应用程序,该应用程序处理数据库连接池,并使用Spring JDBCTemplate执行查询。有人要求我实现一个状态页面,该页面将由心跳过程进行监视,以确定服务器是否一切正常。 作为此操作的一部分,我想执行一个数据库查询以确定与数据库的连接是否正常。理想情况下,由于它只是“从中选择1”,因此我希望它能在10秒内快速返回,以指示如果DB在那段时间内没有响应,则

  • 问题内容: 我正在使用jQuery的自动完成功能。当我尝试检索超过17000条记录的列表(每条记录的长度不超过10个字符)时,它超出了长度,并引发错误: 异常信息: 异常类型:InvalidOperationException 异常消息:使用JSON JavaScriptSerializer进行序列化或反序列化时出错。字符串的长度超过了在maxJsonLength属性上设置的值。 我可以为in 设

  • 我想使用redis as缓存我的远程服务请求:响应键:使用@cacheable注释的值对 理想情况下,“ttl”应该是@Cacheable注释的属性,但由于并非所有缓存都支持键特定的ttl,spring可能没有包含ttl属性。 据我所知,spring建议让不同的org.springframework.cache.cacheManager实例具有不同的过期时间,但考虑到redis已经可以为单个客户机