3 回答

TA貢獻1802條經驗 獲得超5個贊
相同點:
(1)二者都是有序的。
(2)二者都可以獲得某一范圍的元素。
不同點:
(1)列表類型是通過鏈表實現的,獲取靠近兩端的數據速度極快,而當元素增多后,訪問中間數據的速度會較慢,所以它更加適合實現如“新鮮事”或“日志”這樣很少訪問中間元素的應用。
(2)有序集合類型是使用散列表和跳躍表(Skip list)實現的,所以即使讀取位于中間部分的數據速度也很快(時間復雜度是O(log(N)))。
(3)列表中不能簡單地調整某個元素的位置,但是有序集合可以(通過更改這個元素的分數)。
(4)有序集合要比列表類型更耗費內存。有序集合類型算得上是 Redis的5種數據類型中最高級的類型了,在學習時可以與列表類型和集合類型對照理解。

TA貢獻1784條經驗 獲得超8個贊
Redis有序集合類似Redis集合存儲在設定值唯一性。不同的是,一個有序集合的每個成員帶有分數,用于以便采取有序set命令,從最小的到最大的分數有關。
Redis 有序set添加,刪除和測試中的O(1)的存在成員(固定時間,無論里面包含的元素集合的數量)。列表的最大長度為232- 1元素(4294967295,超過4十億每個元素的集合)。
例子
redis 127.0.0.1:6379> ZADD tutorials 1 redis
(integer) 1
redis 127.0.0.1:6379> ZADD tutorials 2 mongodb
(integer) 1
redis 127.0.0.1:6379> ZADD tutorials 3 mysql
(integer) 1
redis 127.0.0.1:6379> ZADD tutorials 3 mysql
(integer) 0
redis 127.0.0.1:6379> ZADD tutorials 4 mysql
(integer) 0
redis 127.0.0.1:6379> ZRANGE tutorials 0 10 WITHSCORES
1) "redis"
2) "1"
3) "mongodb"
4) "2"
5) "mysql"
6) "4"
- 3 回答
- 0 關注
- 809 瀏覽
添加回答
舉報