首页 > 解决方案 > 将数据保存在内存中或使用数据库

问题描述

假设我们有一个票务系统网页,其中显示票证(票证分布在多个页面上)。此外,在同一页面中还有一个允许过滤的搜索表单。

这些票可以随时修改(删除、更新、插入)。

所以我有点困惑。内部架构应该怎么看?我想了好久,还没有找到清晰的路径。

从我的角度来看,有两种方法:

  1. 使用内存数据库之类的东西并将所有数据存储在那里。因此过滤内容和显示请求的项目非常容易。但是这个解决方案意味着在 ram 中存储大量无用的数据。喜欢关闭或解决的票。这些票应该在那里,因为它们可以被请求。

  2. 每次搜索、页面显示等都使用数据库。所以会有很多查询。每次搜索、每个页面(每个用户)都会产生一个数据库查询。这是不是有点过分了?

哪种解决方案更好?有没有更好的解决方案?我的担心是徒劳的吗?

标签: sqldatabasesearchin-memory-database

解决方案


你说“但是这个解决方案意味着在 ram 中存储大量无用的数据。就像关闭或解决的票一样。这些票应该在那里,因为它们可以被请求。”

如果这些票应该在那里,因为它们可以被请求,那么它并不是真正无用的数据,是吗?

这听起来像是混合内存/持久数据库的一个很好的用例。将打开/显示的票证保存在内存表中。关闭时,将它们移动到持久表。


推荐阅读