Redis的有序集合set

2021-08-28 16:14:56 字數 754 閱讀 2262

redis 有序集合和集合一樣也是string型別元素的集合,且不允許重複的成員。

不同的是每個元素都會關聯乙個double型別的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。

有序集合的成員是唯一的,但分數(score)卻可以重複。

集合是通過雜湊表實現的,所以新增,刪除,查詢的複雜度都是o(1)。

zadd key score1 member1 [score2 member2]

向有序集合新增乙個或多個成員,或者更新已存在成員的分數

例:zadd runoobkey 1 redis (給redis設定分數為1)

zadd runoobkey 1 mysql(給mysql設定分數為1)

zadd runoobkey 2 redis(更新redis的分數為2)

zadd  runoobkey 0 val1  3 val2   5  val3 (同時新增分數為0的val1,分數為3的val2,分數為5的val3)

zrange key start stop [withscores]

通過索引區間返回有序集合成指定區間內的成員

zrange runoobkey 0 10  withscores   返回0到10區間的成員

lrange 返回列表中指定區間內的元素,區間以偏移量 start 和 end 指定。 其中 0 表示列表的第乙個元素, 1 表示列表的第二個元素,以此類推。 你也可以使用負數下標,以 -1 表示列表的最後乙個元素, -2 表示列表的倒數第二個元素,以此類推。

redis 有序set集合

我們光set集合中如果儲存元素就直接 小明,小紅,小張有序set集合則是每個元素都需要手動賦予乙個分數 5000 小明,1000 小紅,500 小張而有序set集合預設是從小到大排序的 我們發現當集合倒序時就像是乙個排行榜 5000 小明 1000 小紅 500 小張 所以有序set常常用來做排行榜...

Redis 集合 set 操作, 有序集合

01,唯一性,確定性,無序性 結合的三大特性 02,新建集合,或者往集合中新增資料 sadd key value1 value2 value3 03,檢視集合 smembers key 04,隨機返回集合中返回的元素 srandomber key 05,隨機刪除集合中的元素 spop 06,獲取結合...

Redis 有序集合

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