redis 有序set集合

2021-08-09 03:42:08 字數 2246 閱讀 3100

我們光set集合中如果儲存元素就直接

小明,小紅,小張
有序set集合則是每個元素都需要手動賦予乙個分數

5000 小明,1000 小紅,500 小張
而有序set集合預設是從小到大排序

我們發現當集合倒序時就像是乙個排行榜

5000 小明

1000 小紅

500 小張

所以有序set常常用來做排行榜

zadd key score member score2 member2 …:將所有成員以及該成員的分數存放到sorted-set中。如果該元素已經存在則會用新的分數替換原有的分數。返回值是新加入到集合中的元素個數,不包含之前已經存在的元素。
當前有序set集合

key  value

set1 [500 xiaozhang 1000 xiaohong 5000 xiaoming]

zscore key member:返回指定成員的分數
zcard key:獲取集合中的成員數量

zrem key member[member…]:移除集合中指定的成員,可以指定多個成員

zrange key start

end[withscores]:獲取集合中腳標為start-end的成員,[withscores]引數表明返回的成員包含其分數,這是分數從小到大排列

zrevrange key start

end[withscores]:獲取集合中腳標為start-end的成員,[withscores]引數表明返回的成員包含其分數,這是分數從大到小排列,即倒序

zremrangebyrank key start stop:按照排名範圍刪除元素

zremrangebyscore key min

max:按照分數範圍刪除元素

max [withscores] [limit offset count]:返回分數在[min,max]的成員並按照分數從低到高排序 [withscores]:顯示分數;[limit offset count]:offset,表明從腳標為offset的元素開始並返回count個成員

zincrby key increment member:設定指定成員的增加的分數,返回值是更改後的分數

zcount key min

max:獲取分數在[min,max]之間的成員

(1).從小到大排列的排名

zrank key member:返回成員在集合中的排名。索引(從小到大)

(2).從大到小排列的排名

zrevrank key member:返回成員在集合中的排名。索引(從大到小)
總結:操作有序set集合都是操縱排行榜

Redis 集合 set 操作, 有序集合

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

Redis的有序集合set

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

Redis 有序集合

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