存储和获取对象列表的有效方法

时间:2019-10-09 11:59:00

标签: java database spring-boot data-structures postgresql-9.4

我在Spring Boot中有一个处理自定义请求的应用程序。 并且存在一个计划的作业,该作业每30秒运行一次,它从db获取对象列表并执行某些操作。 我很生气,认为我需要每30秒查询一次数据库,而是可以将这些对象保留在数据结构中。 有其余的API可以添加或删除或编辑这些对象的属性,因此,我需要处理这些对象的更新。 在数据结构上也是如此。我应该选择哪种方法?

对象的大小可以在100-10000之间。我使用Postgres作为数据库。

2 个答案:

答案 0 :(得分:1)

我认为您不需要将数据保存到自定义数据结构中,而是可以查看针对实体和查询的Hibernate 2级缓存。

通过正确的设置,Hibernate将缓存数据和您正在使用的查询。

There是有关Baeldung的很好的文章,有关二级缓存可以帮助您入门。

答案 1 :(得分:0)

我相信您应该编写一个数据库侦听器,该侦听器侦听数据库记录更改事件,然后在您选择的数据结构中获取记录,然后缓存要使用的记录,以防万一数据库更改事件未被触发

  • 这是关于如何在Java中实现数据库侦听器的好方法article