redis的有序集合和列表的區別

2021-10-11 17:03:38 字數 347 閱讀 4482

一、相似之處

1、二者都是有序的。

2、二者都可以獲得某一範圍的元素。

二、區別

1、列表型別是通過鍊錶實現的,獲取靠近兩端的資料速度極快,而當元素增多後,訪問中間資料的速度會較慢,所以它更適合實現如「新鮮事」或「日誌」這樣很少訪問中間元素的應用。

2、有序集合型別是使用雜湊表和跳躍表(skip list)實現的,所以即使取位於中間部分的資料速度也很快(時間複雜度是o(log(n)))。

3、列表中不能簡單的調整某個元素的位置,但是有序集合可以(通過更改這個元素的分數)。

4、有序集合要比列表型別更耗費記憶體。

Redis的有序集合set

redis 有序集合和集合一樣也是string型別元素的集合,且不允許重複的成員。不同的是每個元素都會關聯乙個double型別的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。有序集合的成員是唯一的,但分數 score 卻可以重複。集合是通過雜湊表實現的,所以新增,刪除,查詢的複雜度...

redis 六 redis的zset(有序集合)

相比於set,zset中會有乙個score屬性,用於set的排名。zadd 向zset中新增元素 sorce value zrem 刪除element zscore 獲取score zincrby 增加score zrange 獲取資料,start到end zrank 通過下標獲取排名 127.0....

Redis有序集合和定時任務解決訂單15分鐘關閉

直接上 下單減去庫存 下面是定時任務 處理訂單超時 public final static string key csh timeoutpromotionorderset 隨機生成 雪花演算法 public final static long orderid 25312144988416020l 設...