Redis-07Redis資料結構--有序Set
阿新 • • 發佈:2018-12-12
概述
有序集合和無序集合的命令是接近的,只是在這些命令的基礎上,會增加對於排序的操作,這一點在使用的時候需要注。
有些時候 Redis 藉助資料區間的表示方法來表示包含或者不包含,比如在數學的區間表示中[2,5 ]表示包含 2,但是不包含 5 的 區間。
Redis 有序集合的部分命令
命令 | 說明 | 備註 |
---|---|---|
zadd key score1 value1 [score2 value2 …] | 向有序集合的 key,增加一個或者多個成員 | 如果不存在對應的 key,則建立鍵為 key 的有序集合 |
zcard key | 獲取有序集合的成員數 | ----- |
zcount key min max | 根據分數返回對應的成員列表 | min 為最小值, max為最大值,預設為包含min 和 max 值,採用數學區間表示的方法,如果需要不包含,則在分數前面加入“(”,注意不支援“[”表示 |
zincrby key increment member | 給有序集合成員值為 member 的分數增加 increment | ----- |
zinterstore desKey nurnkeys key1 [key2 key3 …] | 求多個有序集合的交集,並且將結果儲存到 des Key 中 | numkeys 是一個整數,表示多少個有序集合 |
zlexcount key min max | 求有序集合 key 成員值在 min 和 max 的範圍 | 這裡範圍為 key 的成員值, Redis 藉助資料區間的表示方法,“[”表示包含該值,“(”表示不包含該值 |
zrange key start stop [withscores] | 按照分值的大小〈從小到大)返回成員,加入 start 和 stop 引數可以擷取某一段返回.如果輸入可選項 withscores,則連同分數一起返回 | 這裡記集合最大長度為len,Redis 會將集合排序後,形成一個從 0 到len-1的下標,然後根據 start 和 stop 控制的下標(包含 start 和 stop)返回 |
zrank key member | 按從小到大求有序集合的排行 | 排名第一的為 0,第二的為 1 … |
zrangebylex key min max [limit offset count] | 根據值的大小,從小到大排序, min 為最小值, max 為最大值;limit 選項可選,當 Red is 求出範圍集合後,會生產下標0到n,然後根據偏移量offset 和限定返回 數 count,返回對應的成員 | 這裡範圍為 key 的成員值, Red i s 藉助數學區間的表示方法,“[”表示包含該值,“(”表示不包含該值 |
zrangebyscore key min max [withscores] [limit offset count] | 根據分數大小,從小到大求取範圍,選項 withscores 和 limit 請參考 zrange 命令和zrangebylex 說明 | 根據分析求取集合的範圍。這裡預設包含 min和 max,如果不想包含,則在引數前加入“(”,注意不支援“ [”表示 |
zremrangebyscore key start stop | 根據分數區間進行刪除 | 按照 socre 進行排序,然後排除 0 到len-1的下標,然後根據 start 和 stop 進行刪除, Redis 藉助數學區間的表示方法,“[”表示包含該值,“(”表示不包含該值 |
zremrangebyrank key start stop | 按照分數排行從小到大的排序刪除,從0開始計算 | ----- |
zremrangebylex key min max | 按照值的分佈進行刪除 | ----- |
zrevrange key start stop [withscores] | 從大到小的按分數排序,引數請參見zrange | 與 zrange 相同,只是排序是從大到小 |
zrevrangebyscore key max min [withscores] | 從大到小的按分數排序,引數請參見zrangebyscore | 與 zrangebyscore 相同 ,只是排序是從大到小 |
zrevrank key member | 按從大到小的順序,求元素的排行 | 排名第一位 0,第二位1 … |
zscore key member | 返回成員的分數值 | 返回成員的分數 |
zunionstore desKey numKeys key1 [key2 key3 key4 …] | 求多個有序集合的並集,其中 numKeys是有序,集合的個數 | ----- |
在對有序集合、下標、區間的表示方法進行操作的時候,需要十分小心命令,注意它是操作分數還是值,稍有不慎就會出現問題。