它远远超出您的估计。假设不使用ziplist(即您有很多项)。
Redis列表是经典的双向链接列表:每个项目3个指针(上一个,下一个,值)。
排序的集合是字典加上跳过列表。在字典中,项目也将与3个指针(键,值,下一个)一起存储。跳过列表的内存占用空间评估起来更加复杂:每个节点占用1个双精度值(分数),2个指针(obj,向后),n个对(指针,跨度值),n在1到32之间。大多数项仅占用1个或2对夫妇。
换句话说,当未将其表示为ziplist时,排序后的集合是迄今为止开销最大的Redis数据结构。与列表相比,内存开销超过200%(即3倍)。
注意:使用Redis评估内存消耗的最佳方法是尝试使用伪数据构建一个大列表或排序集,并使用INFO获取内存占用量。



