Redis的有序集合(Sorted Set)是一種存儲(chǔ)唯一元素的集合,每個(gè)元素都有一個(gè)分?jǐn)?shù)(score),用于對(duì)元素進(jìn)行排序。以下是Redis有序集合支持的一些主要操作:
添加元素:ZADD key score
- 將一個(gè)或多個(gè)成員元素及其分?jǐn)?shù)加入到有序集合中。
刪除元素:ZREM key member [member ...]
- 從有序集合中刪除一個(gè)或多個(gè)成員。
檢查成員是否存在:Z存在于key中
- 判斷有序集合中是否存在指定的成員。
獲取成員的分?jǐn)?shù):ZSCORE key member
- 獲取有序集合中指定成員的分?jǐn)?shù)。
獲取有序集合中的所有成員:ZRANGE key min max [WITHSCORES]
- 返回有序集合中指定范圍內(nèi)的所有成員,可以可選地返回每個(gè)成員的分?jǐn)?shù)。
獲取有序集合中的成員數(shù)量:ZCARD key
- 返回有序集合中的元素個(gè)數(shù)。
檢查有序集合是否為空:ZCOUNT key min max
- 計(jì)算有序集合中分?jǐn)?shù)在指定范圍內(nèi)的成員數(shù)量。
更新元素的分?jǐn)?shù):ZADD key new_score member
- 修改有序集合中指定成員的分?jǐn)?shù)。
刪除指定分?jǐn)?shù)范圍內(nèi)的所有元素:ZREMRANGEBYSCORE key min max
- 刪除有序集合中分?jǐn)?shù)在指定范圍內(nèi)的所有元素。
獲取有序集合中的最小和最大分?jǐn)?shù):ZMIN key
和 ZMAX key
- 分別返回有序集合中的最小和最大分?jǐn)?shù)。
獲取有序集合的區(qū)間元素:ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
- 返回有序集合中分?jǐn)?shù)在指定范圍內(nèi)的元素,可以可選地返回每個(gè)成員的分?jǐn)?shù),還可以通過LIMIT
選項(xiàng)進(jìn)行分頁(yè)。
排序有序集合:SORT key [BY pattern] [ASC|DESC] [LIMIT offset count]
- 對(duì)有序集合中的元素進(jìn)行排序,可以指定排序的模式,選擇升序或降序,還可以通過LIMIT
選項(xiàng)進(jìn)行分頁(yè)。
這些操作使得Redis有序集合在許多應(yīng)用場(chǎng)景中非常有用,比如排行榜、時(shí)間線排序、延遲任務(wù)隊(duì)列等。