spring-boot - 使用 PCF Tanzu Gemfire 服务 Springboot 微服务使用 Gemfire 缓存时面临的问题
问题描述
我正在开发 Springboot REST 微服务。在分区区域类型上执行清除区域时面临问题。如何配置 Gemfire 缓存,以便我的客户端应该能够在启动时向服务器添加区域。此外,我正在考虑公开一个 API 以显式地驱逐缓存。有没有办法我们可以做到?我们现在实现了 Redis 缓存,但我们想切换到 gemfire,因为它提供了很好的 GUI 来使用 PULSE 跟踪区域和数据。问题:
- 用于在启动时添加区域以跨微服务使用的 Gemfire 客户端配置。
- 如何明确驱逐。考虑一个 API。
代码:
@SpringBootApplication
@EnableCacheDefinedRegions
public class CloudcachePizzaStoreApplication
解决方案
问题(如GEODE-788、GEODE-7665、GEODE-7666、GEODE-7670、GEODE-7672和GEODE-7676中所述)是 GemFire/Geode 不支持Region.clear()
区域PARTITION
(尚)。
例如,当您@CacheEvent(allEntries = true)
在托管应用程序组件上声明注释/属性时...
@Component
class MyCacheableSpringManagedApplicationComponent {
@CacheEvict(allEntries = true)
void nukeAndPave() {
repository.deleteAll();
// ...
}
}
这实际上是调用Region.clear()
(参见此处)。考虑到大量 GemFire/Geode 问题,此行为适用于REPLICATE
和LOCAL
Regions,但不适用于PARTITION
Regions 。不过,它目前是一个 WIP。
Spring Data 中有(部分地,仍然是)意图让 Apache Geode 和 VMware Tanzu (Pivotal) GemFire 处理缓存清除操作。
https://jira.spring.io/browse/DATAGEODE-265
但是,在上述 GEODE JIRA 票得到整理之前,这将被搁置。
推荐阅读
- java - Python字符串在Java服务器请求上添加额外的引号
- java - 未能创建部件的控件:StructuredTextEditor
- html - 使用 excel vba 和记事本或 Shell 使用 excel 变量生成 HTML 输出
- python - 从 iframe 中提取表 - Anbima 使用 python + selenium
- vba - 替换 MS-Word 中的复选框
- c++ - 将带有参考时间的时间戳转换为格式化时间
- highcharts - Highcharts 条形图正在偏移
- http - 在 Arduino Uno Wifi Rev 2 上使用 WiFiNina 库发布请求
- web-audio-api - 自动化后获取 Web Audio 节点或参数的值
- dictionary - Python字典不添加新键