【问题标题】:Cache dataset on startup?启动时缓存数据集?
【发布时间】:2021-04-27 16:38:36
【问题描述】:

我在 DynamoDB 中有大约 500 行需要在每次 API 调用时获取。但是,这些行很少更改。加载 DynamoDB 中的所有行并将其保存在 Java Spring MVC 中的缓存中的推荐方法是什么,以便在 API 发生第一次服务调用时,数据已经被缓存。

【问题讨论】:

  • 把它们放在一个数组列表中?一般来说,不要从一开始就认为推荐/正确的方法,让它发挥作用,然后看看它是否需要改进——这就是你学习的方式
  • 不,我的意思是,在 Spring 中,如何在启动时预加载数据集?
  • 只需在@PostConstruct 方法中执行此操作,以便在控制器启动时完成baeldung.com/spring-postconstruct-predestroy
  • 知道了,谢谢。有没有办法在那里设置缓存 TTL?
  • 我不知道,但一个简单的ScheduledExecutorService 可以以指定的延迟baeldung.com/java-executor-service-tutorial 更新列表。但是由于您的列表现在需要并发读写,您应该使用CopyOnWriteArrayList

标签: java spring model-view-controller


【解决方案1】:

使用内存中的 Spring 缓存。

这是一个好的开始https://www.baeldung.com/spring-cache-tutorial

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    • 1970-01-01
    • 2021-01-06
    • 1970-01-01
    • 1970-01-01
    • 2016-07-07
    • 1970-01-01
    相关资源
    最近更新 更多