【发布时间】:2011-10-31 17:11:36
【问题描述】:
ZADD 的 redis documentation 声明操作为 O(log N)。
但是,当插入的元素位于排序顺序的开头或结尾时,有人知道 ZADD 是否比 O(log N) 更好吗?
例如对于某些实现,这可能是 O(1)。
具体来说,redis tutorial 声明:
排序集是通过一个双端口数据结构实现的,其中包含 跳过列表和哈希表,所以每次我们添加一个元素 Redis 执行 O(log(N)) 操作。
修改跳过列表以支持在开头和结尾插入 O(k) 似乎是合理的,其中 k 是跳过列表的最大级别。
【问题讨论】:
标签: redis sortedset skip-lists