【问题标题】:Java caching with pub-sub and expiry and persistence具有发布-订阅、到期和持久性的 Java 缓存
【发布时间】:2021-07-14 07:46:34
【问题描述】:

我正在评估以下问题的简单解决方案。

【问题讨论】:

标签: java spring caching java-8 jms


【解决方案1】:

请注意,您在这里谈论的是两种不同的东西。一种是可以使用 Java API 实现的缓存。例如,JMS 框架,如 Apache kafka 是基于 JMS API 构建的,它可以是 Pub-Sub 模型或根据您的应用程序逻辑的点对点模型。对于何时必须删除消息(如 5 天前)或其他应用程序逻辑的决定,您当然可以使用观察者设计模式。上游-下游系统需要JMS,缓存可以使用Java API。

【讨论】:

    【解决方案2】:

    您可以使用典型的 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。

    【讨论】:

      猜你喜欢
      • 2018-07-11
      • 1970-01-01
      • 2019-01-08
      • 1970-01-01
      • 2017-10-31
      • 1970-01-01
      • 2020-11-18
      • 2011-08-11
      • 2017-09-05
      相关资源
      最近更新 更多