Redis集合默认排序

7
在 Redis 的 Set(非排序集合)中,我注意到值的顺序是按添加顺序排列的,最新的值排在第一位。在文档中没有找到集合是否会始终保持这种顺序。因此我的问题是,我可以信任它们会始终按照这种顺序排序吗?
1个回答

11

通常情况下,您不能信任元素的顺序。 如果你想按特定顺序排序,你可以使用列表或排序集。

集合是使用HashTable构建的。 对于元素的顺序绝对没有保证。

但是,如果集合仅包含整数,并且元素数量小于指令set-max-intset-entries(默认为512) - 那么该集合将构建在一个称为IntSet或Integer Set的结构上。 整数集是一个已排序的整数数组。 对于这样的集合,迭代器将按升序返回元素。

因此,更具体地说,如果您能够编程到一个整数集,您可以认为元素将按排序顺序排列。


1
我在尝试了无数次之后才意识到 :) - uzay95

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接