将数据保存在内存中或使用数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将数据保存在内存中或使用数据库相关的知识,希望对你有一定的参考价值。

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

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

所以我有点困惑。内部架构应该如何看待?我已经思考了一段时间,但我还没有找到明确的路径。

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

  1. 使用类似内存数据库的东西并将所有数据存储在那里。因此,过滤内容和显示请求的项目非常容易。但是这个解决方案意味着在ram中存储了大量无用的数据。门票关闭或解决。那些门票应该在那里因为可以要求。
  2. 每次搜索,页面显示等都使用数据库。因此会有很多查询。每次搜索,每个页面(每个用户)都将导致数据库查询。这不是有点太多了吗?

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

答案

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

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

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

以上是关于将数据保存在内存中或使用数据库的主要内容,如果未能解决你的问题,请参考以下文章

2022-01-25:序列化和反序列化 N 叉树。 序列化是指将一个数据结构转化为位序列的过程,因此可以将其存储在文件中或内存缓冲区中,以便稍后在相同或不同的计算机环境中恢复结构。 设计一个序列化和反

MySQL 数据库 - 将数据存储在一个表中或使用查找

Iphone 将信用卡信息保存在钥匙串中或使用密码学? [关闭]

Redis持久化的方式选择与原理

安卓数据项目

使用presto的kafka连接器时presto在哪里存储kafka数据