【问题标题】:In-memory storage for flask application烧瓶应用程序的内存存储
【发布时间】:2014-12-01 11:06:50
【问题描述】:

我的烧瓶应用程序将一些数据存储在数据库中。 如果我的应用程序已关闭一段时间,我希望丢弃这些数据。 这样做的原因是我想确保我没有错过对我的应用程序的 REST 调用。

显而易见且有效的解决方案是将这些数据存储在内存中,但我愿意接受任何解决方案(例如,在应用程序重新启动时删除旧记录)。

【问题讨论】:

  • 这个答案也有很多有用的信息,例如进程的共享线程(对非产品来说还可以),以及进程之间共享的 Unix(最适合生产):stackoverflow.com/questions/15720700/…跨度>

标签: python flask


【解决方案1】:

如果您的应用程序不需要持久性,为什么不使用 SQLite 后端 (easy in flask) 并将数据库存储在内存中(使用 :memory: 文件名作为数据库),然后在每次关闭时您的数据将被清理。

【讨论】:

  • 谢谢。我不知道为什么我没有考虑过。
  • 并阅读 sqlite.org/backup.html 进行备份,甚至从 mem,python 版本 ~ github.com/husio/python-sqlite3-backup
  • 内存数据库在这里不起作用,因为它们不能从不同的线程访问,Flask 会为每个请求创建一个新线程。您需要在请求线程中创建连接对象,如果您使用内存数据库,那么您会得到一个空白数据库。见stackoverflow.com/a/13381304
【解决方案2】:

您可以使用persisted memory-mapped files。 Python 有一个 facility (mmap) 来处理这些文件。

【讨论】:

  • 谢谢,但我想我确实不需要需要坚持。我想在我的服务器出现故障时使我的数据失效。
猜你喜欢
  • 2020-02-22
  • 1970-01-01
  • 1970-01-01
  • 2022-08-05
  • 1970-01-01
  • 1970-01-01
  • 2021-10-09
  • 1970-01-01
  • 2019-11-25
相关资源
最近更新 更多