redis中有序集合类型和列表类型的不同点与相同点

redis中有序集合类型和列表类型的不同点与相同点


MMTTMM
浏览 736回答 3
3回答

12345678_0001

相同点:(1)二者都是有序的。(2)二者都可以获得某一范围的元素。不同点:(1)列表类型是通过链表实现的,获取靠近两端的数据速度极快,而当元素增多后,访问中间数据的速度会较慢,所以它更加适合实现如“新鲜事”或“日志”这样很少访问中间元素的应用。(2)有序集合类型是使用散列表和跳跃表(Skip list)实现的,所以即使读取位于中间部分的数据速度也很快(时间复杂度是O(log(N)))。(3)列表中不能简单地调整某个元素的位置,但是有序集合可以(通过更改这个元素的分数)。(4)有序集合要比列表类型更耗费内存。有序集合类型算得上是 Redis的5种数据类型中最高级的类型了,在学习时可以与列表类型和集合类型对照理解。

青春有我

Redis有序集合类似Redis集合存储在设定值唯一性。不同的是,一个有序集合的每个成员带有分数,用于以便采取有序set命令,从最小的到最大的分数有关。Redis 有序set添加,删除和测试中的O(1)的存在成员(固定时间,无论里面包含的元素集合的数量)。列表的最大长度为232- 1元素(4294967295,超过4十亿每个元素的集合)。例子redis 127.0.0.1:6379> ZADD tutorials 1 redis(integer) 1redis 127.0.0.1:6379> ZADD tutorials 2 mongodb(integer) 1redis 127.0.0.1:6379> ZADD tutorials 3 mysql(integer) 1redis 127.0.0.1:6379> ZADD tutorials 3 mysql(integer) 0redis 127.0.0.1:6379> ZADD tutorials 4 mysql(integer) 0redis 127.0.0.1:6379> ZRANGE tutorials 0 10 WITHSCORES1) "redis"2) "1"3) "mongodb"4) "2"5) "mysql"6) "4"
打开App,查看更多内容
随时随地看视频慕课网APP