您可以在redis中存储的最大值大小是多少?

您可以在redis中存储的最大值大小是多少?,redis,celery,Redis,Celery,有人知道您可以在redis中存储的最大值大小吗?我想使用redis作为带有芹菜的消息队列来存储一些需要由另一台服务器上的工作人员处理的小文档,并且我想确保这些文档不会太大 我发现有一个页面引用了1GB,但是当我按照页面上的链接找到答案时,链接不再有效。以下是链接: 这至少与您拥有的RAM数量有关,因此,除非您计划在其中放置数千GB的对象,否则我不会担心。我已经有了数百兆字节大小的设备,没有问题,但我不知道确切的限制 关于的文章可以帮助您大致确定数据库将占用多少内存。所有字符串值都限制为512 M

有人知道您可以在redis中存储的最大值大小吗?我想使用redis作为带有芹菜的消息队列来存储一些需要由另一台服务器上的工作人员处理的小文档,并且我想确保这些文档不会太大

我发现有一个页面引用了1GB,但是当我按照页面上的链接找到答案时,链接不再有效。以下是链接:


这至少与您拥有的RAM数量有关,因此,除非您计划在其中放置数千GB的对象,否则我不会担心。我已经有了数百兆字节大小的设备,没有问题,但我不知道确切的限制

关于的文章可以帮助您大致确定数据库将占用多少内存。

所有字符串值都限制为512 MiB。这可能是您最关心的尺寸限制

编辑:由于Redis中的键是字符串,因此最大键大小为512 MiB。最大键数为
2^32-1
=4294967295

另一方面,值的大小可能因其类型而异。对于聚合数据类型(即哈希、列表、集和排序集),每个元素的最大值大小为512 MiB,尽管数据结构本身最多可以有
2^32-1
元素


字符串值可以容纳最大值的大小。但是根据这一点,大小可以增加。

我猜我的文件大小将在10k以下,但可能有数千个。如果我有足够的内存,这听起来应该可以处理。我可能误解了你的问题,我以为你在问单个值的最大大小。如果您担心整个数据库的大小,那么32位系统的限制是4GB,但对于64位系统,您无法在服务器中安装足够的RAM来访问它。不,你是对的,我想确保它能处理我的文件。大多数将是10k范围,但有时他们可能会跳到MB范围,所以看起来它会很好地工作。谢谢你的另一个答案,也很高兴知道。所以,换句话说,你应该没事。如果你需要存储大于512MIB的字符串,你可能应该使用硬盘,而不是redis。今天我在谷歌搜索中找到了这个线程,我将对它进行necro。在您提到的google群组讨论中,Salvatore Sanfilippo自己声明最大密钥大小为512MB。键是字符串,所以这种一致性是有意义的。允许2 GiB密钥大小,并对字符串设置512MiB大小限制是没有意义的。对于键/值存储,这实际上是荒谬的。@PittsburghDBA-更准确地说,组成键的字符串数据被限制为512 MiB。在引擎盖下使用32位int,因此理论上限制可以是2 GiB,而不会有太大的变化(因此混淆)。当然,情况就是这样。但是您必须重新编译源代码,我想在同一个线程中已经提到过。