【问题标题】:How do I host and edit a JSON file separate from my GitHub repository?如何托管和编辑独立于 GitHub 存储库的 JSON 文件?
【发布时间】:2019-08-02 08:30:26
【问题描述】:

我正在构建一个 Discord 机器人,并尝试使用 Heroku 和 GitHub 来托管它。我打算将用户数据存储在 JSON 文件中,但无法弄清楚如何编辑 JSON 文件,因为我无法在它位于存储库中时对其进行编辑。我希望有一种方法可以通过 Heroku 完成,而无需使用单独的网站。

注意:我知道您通常如何编辑 JSON 文件,但由于它位于 GitHub 存储库中,因此无法正常工作。

【问题讨论】:

  • 您可以将 JSON 文件存储在像 S3 这样的服务上,但它是只读的(您可以通过上传新文件来“编辑”它)。如果数据需要经常以编程方式更改,那么像 Firebase 这样的服务将是更好的选择。

标签: json github heroku


【解决方案1】:

不要将文件用作数据库。使用数据库作为数据库。

这通常是个好建议,但在 Heroku 上尤其重要,因为 ephemeral filesystem 可防止对文件的更改长期保留。

Heroku Postgres 是一种相对简单的入门方式。它的基本计划是免费的。

【讨论】:

  • 所以,唯一的问题是......有些人只希望存储短期,而 Worker Dynos 不支持像 Web Dynos 那样的临时 fs,你的代码需要几乎是直接的 JS,任何来自任何框架的模块通常不允许您甚至编辑附加了工作 dynos 的文件,这是分配不和谐的机器人开发人员遇到的问题,因此他们经常放弃 Heroku 并使用 AWS 或其他具有基于缓存的 fs 或 live 的托管平台文件系统。
  • @PandaDev,这有什么关系?短期或长期,如果需要数据库,请使用 数据库
  • 我是说,存储在数据库中会增加需要快速访问然后丢弃的东西的加载时间,例如玩游戏的人的索引以防止他们开始新的,但一旦游戏完成,它就会从索引中删除玩家的 id。 在这种情况下使用 AWS 会更简单,因为 Node 的 FS 仍然有效。
  • @PandaDev,所以使用 Memcached 或 Redis 什么的。适当的数据存储,而不是文件。
  • 我从来没有说 redis 是一个坏主意,我是在暗示初学者在学习大型模块甚至框架时可能会遇到问题,除了使用 AWS 之外我没有任何建议,所以我没有不再介意这个 cmets 线程。不过,感谢您提供的输入,这在编程中很重要(解决问题)。
【解决方案2】:

我相信 GitLab 允许您在适当的位置编辑文件,并且它们具有像 Github 这样的免费层。正如 Chris 所提到的,通常不建议这样做,但它可能会满足您的需求。

https://about.gitlab.com/

【讨论】:

    猜你喜欢
    • 2012-05-20
    • 2015-06-15
    • 2012-12-04
    • 2012-12-10
    • 2023-02-24
    • 2011-04-28
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    相关资源
    最近更新 更多