【发布时间】:2021-07-14 07:46:34
【问题描述】:
我正在评估以下问题的简单解决方案。
【问题讨论】:
-
缓存和简单在同一个短语中并不常见。一旦数据开始增长,它将变得异常复杂。见:Why Cache Invalidation is Hard
标签: java spring caching java-8 jms
我正在评估以下问题的简单解决方案。
【问题讨论】:
标签: java spring caching java-8 jms
请注意,您在这里谈论的是两种不同的东西。一种是可以使用 Java API 实现的缓存。例如,JMS 框架,如 Apache kafka 是基于 JMS API 构建的,它可以是 Pub-Sub 模型或根据您的应用程序逻辑的点对点模型。对于何时必须删除消息(如 5 天前)或其他应用程序逻辑的决定,您当然可以使用观察者设计模式。上游-下游系统需要JMS,缓存可以使用Java API。
【讨论】:
您可以使用典型的 Spring 解决方案。一些注释,例如 import org.springframework.cache.annotation.Cacheable; 和 import org.springframework.cache.annotation.CacheEvict; 这就是你所需要的。
然后您可以声明任何可能的 bean 进行缓存,例如:
spring:
cache:
type: ${CACHE_TYPE:REDIS}
servlet:
multipart:
max-file-size: 128MB
max-request-size: 128MB
enabled: true
用于 Redis 和 Spring Boot 或带有地图的简单 bean。
【讨论】: