由于redis将数据保存在内存中,因此redis中存储的数据的最大大小是多少

由于redis将数据保存在内存中,因此redis中存储的数据的最大大小是多少,redis,nosql,Redis,Nosql,我对redis了解不多,但我知道的是,redis以键值格式将数据存储在内存中,并且数据也是持久的,因为它每隔一段时间存储在磁盘中 所以我想知道,假设RAM是10GB,那么我们可以在redis中存储超过10GB的数据吗 事实上,我不太清楚redis用于存储的磁盘和内存使用情况。来自: Redis是一个内存中但持久的磁盘数据库,因此它代表了一种不同的折衷方式,在这种情况下,可以实现非常高的写入和读取速度,但数据集不能大于内存 因此,不幸的是,您的数据大小仅限于您允许Redis使用的RAM数量 情况更

我对redis了解不多,但我知道的是,redis以键值格式将数据存储在内存中,并且数据也是持久的,因为它每隔一段时间存储在磁盘中

所以我想知道,假设RAM是10GB,那么我们可以在redis中存储超过10GB的数据吗

事实上,我不太清楚redis用于存储的磁盘和内存使用情况。

来自:

Redis是一个内存中但持久的磁盘数据库,因此它代表了一种不同的折衷方式,在这种情况下,可以实现非常高的写入和读取速度,但数据集不能大于内存


因此,不幸的是,您的数据大小仅限于您允许Redis使用的RAM数量

情况更糟。如果您有10GB的RAM,那么实际上您可以存储大约6-7GB的内存。这至少有两个原因:

  • Redis对每个数据项都有一定的内存开销
  • Redis分叉以进行快照。这将导致为在该过程中更改的所有页面分配额外内存

  • 谢谢@Will,我认为这是MongoDB和Redis作为NoSQL数据库的主要区别。当然还有很多不同之处,但这是一个大问题。是的@denis,实际上,如果小于10GB,这并不重要。我只是想知道我们是否可以存储超过10GB的数据。所以redis永远不能用作主数据库。试试Tarantool。它也在内存中,但它使用内存的效率更高,因此您可以确保10Gb是真正的10Gb。如果仍然不够,那么你应该看看MySQL或Postgres。