spring - @Cacheable 抽象的 Spring Data Geode Expiration
问题描述
我正在使用 @Cacheable("MyCache") 注释以及 PCC(Pivotal Cloud Cache)提供程序。
这是我的配置类
@Configuration
@EnableCachingDefinedRegions
@EnableClusterAware
public class CachingConfig {
}
我看到有一个可用的@Expiration 注释,但建议使用@EntityDefinedRegions。在使用 @EnableCachingDefinedRegions 配置过期策略方面需要帮助
解决方案
以前,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 日星期五发布。
推荐阅读
- cmake - CMake:目标不在导出集中
- mysql - InnoDB 缓冲池大小占总 RAM 的百分比 - (总 RAM 的缓冲池大小)返回无数据
- python - 在 Python 中实现矩形矩阵的伪谱
- html - 内联“详细信息”元素:搜索问题
- azure - SSISDB 上的包部署在 [部署项目] 步骤中出现超时
- go - 是否可以将 map[string]string 转换为 map[string]interface{} 而无需在 golang 中使用 for 循环?
- reactjs - 如何在 React 中包含页面?
- testing - BrowserStack cypress Run > cypress-cucumber-preprocessor 依赖图 + cypress 文件夹出错
- android - Jetpack Compose 折叠工具栏
- java - 可以从多个模块访问该包(在 Eclipse 中使用 SAX 的错误修复)