首页 > 解决方案 > @Cacheable 抽象的 Spring Data Geode Expiration

问题描述

我正在使用 @Cacheable("MyCache") 注释以及 PCC(Pivotal Cloud Cache)提供程序。

这是我的配置类

@Configuration
@EnableCachingDefinedRegions
@EnableClusterAware
public class CachingConfig {
}

我看到有一个可用的@Expiration 注释,但建议使用@EntityDefinedRegions。在使用 @EnableCachingDefinedRegions 配置过期策略方面需要帮助

标签: springspring-bootspring-data-gemfire

解决方案


以前,SDG支持基于注释的过期配置(即使用@EnableExpiration),@EnableCachingDefinedRegions因为基础设施 bean 在 Spring 容器中创建和注册的方式。

但是,我决定(参见问题 #518)对基于注释的配置模型进行一些增强,以在@EnableExpiration使用@EnableCachingDefinedRegions.

例如,请参考SDG 测试套件类中的这个测试用例EnableExpirationConfigurationIntegrationTests您正在寻找的缓存/过期配置与启用缓存的应用程序服务类一起在这里

由于您还使用 SBDG(这很好(!)),因此您可以将配置简化为:

@SpringBootApplication
@EnableClusterAware
@EnableCachingDefinedRegions
@EnableExpiration
public class MySpringBootApacheGeodeApplication { 
    ...
}

默认情况下,SDG@EnableExpiration注释适用于所有区域。但是,您可以使用annotation上的policies属性为每个 [caching-based] Region 配置过期策略。@EnableExpiration

有关详细信息,请参阅 SDG参考文档

这些更改将成为本周发布的一部分。具体来说,这些变化将成为 SDG2.5.3和 SDG的一部分2.6.0-M1。我没有这些更改移植到 SDG 1.4.x。版本将于 7 月 16 日星期五发布。


推荐阅读