Redis資料結構之有序集合sortedset

2022-02-07 19:28:43 字數 1451 閱讀 9718

有序集合(sorted set)用於儲存多個字串元素,它是在集合(set)的基礎上給每個元素增加了乙個用於排序的字段(score),元素同樣不可重複,可以根據分數索引獲取元素,此外,提供了根據score獲取指定範圍以及排序功能

zadd:新增資料,返回元素個數

zadd key score1 member1 score2 member2 ..
127.0.0.1:6379> zadd sorted 10 a 20 b 30 c

(integer) 3

zrange:獲取元素(正序)

zrange key start stop [withscores]
withscores:獲取資料時帶上他的score值

獲取全部元素

zrange key 0 -1
zrevrange:獲取元素(倒序)

zrevrange start stop [withscores]
zcard:獲取集合元素個數

zcard sorts
zrem:刪除元素

zrem key member
zrangebyscore:按照條件獲取元素

zrangebyscore key min max

zrevrangebyscore key min max

zremrangebyrank:根據索引刪除刪除元素

zremrangebyrank key start stop
zremrangebyscore:根據score刪除元素

zremrangebyscore key min max
有序集合型別內部有2種編碼

利用zrange和zrevrange可以實現排名功能

redis資料結構之有序集合

有序集合與集合大致差不多,不同的是有序集合中的元素可以排序,但與列表使用下標實現排序不一樣,有序集合利用分數作為依據排序。有序集合不能重複,但分數可以重複。對部落格 發布的文章做排行榜,榜單的維度可能是按時間 按照獲得讚數。比如使用讚數對使用者每天發布文章的排行榜,並實現以下功能 1 新增使用者讚數...

Redis 資料結構之有序集合(sort set)

有序集合 sortset的元素包括 score 分數,int float value 成員,string int float rank等三個屬性,1 實際上是score 和 value的對映 2 value 在有序集合中必須是唯一的,score可以重複 3 rank 從0 開始,score越大,ra...

Redis資料型別之有序集合

k ey key key 有序集合是有序的,去重的容器資料結構 值只能為字串,最多232 12 1 232 1這裡每個元素對應乙個分數,並按照分數從小到大排序 1.新增元素,檢視元素 新增元素時,在前面加乙個分數 zadd z1 1 a 3 b 2 c 檢視所有元素,正向分值從小到大 zrange ...