【问题标题】:Persist data for 24 hours将数据保留 24 小时
【发布时间】:2021-10-03 00:48:15
【问题描述】:

我需要构建一个每天抓取一次消息并将其保存在某处的微服务。 24小时后不需要访问(可以删除)。地点或方式并不重要,但我需要从 Express.js 端点访问它并返回消息。目前我们使用 Redis 和 MongoDB 进行数据持久化。为一个小服务创建一个完整的集合感觉是错误的,我不确定 Redis 的应用程序可以完成这项任务。我最好的选择是什么?欢迎提出任何建议,谢谢!

【问题讨论】:

  • 为什么不把一些 JSON 放在一个文件中?
  • @jfriend00 Heroku。我们在 Heroku 上运行所有内容,如您所知,Heroku 使用临时存储。
  • 在集合中拥有一个文档并没有错——只要它满足应用程序的功能(持久化、查询、删除等)。您是否为此目的使用了整个 MongoDB 数据库安装它只是带有另一个集合的现有数据库?
  • 那么,请在您的问题中添加有关 Heroku 和无持久文件存储的信息,以便完整的上下文在您的问题中。
  • 可以在redis中设置ttl值。

标签: node.js database mongodb redis microservices


【解决方案1】:

Redis 提供了一种开箱即用的过期机制。您可以将超时与键相关联,超时后将自动删除。一些官方文档here

Redis 还提供逻辑数据库,如果您想将这些过期键与应用程序的其余部分分开。所以你不需要启动另一台机器。一些官方文档here

【讨论】:

    【解决方案2】:

    你可以使用YUGABYTE DB,你可以设置TABLE LIVE= 24 Hours,然后数据会被删除。

    【讨论】:

      猜你喜欢
      • 2015-05-09
      • 1970-01-01
      • 2023-04-05
      • 2021-02-20
      • 1970-01-01
      • 1970-01-01
      • 2021-12-29
      • 1970-01-01
      • 2016-10-06
      相关资源
      最近更新 更多