Redis 有序集合

gutops發表於2017-04-15
ZADD
ZADD key score member [[score ][socre member]...]
將一個或多個member元素及其score值加入到有序集合key當中
如果某個 member 已經是有序集的成員,那麼更新這個 member 的 score 值,並通過
重新
插入這個 member 元素,來保證該 member 在正確的位置上。
score 值可以是整數值或雙精度浮點數。
如果key不存在,則建立一個空的有序集並執行ZADD操作。
當key存在,但是不有序集時,返回一個錯誤
返回值
被成功新增的新成員的數量,不包括被更新的、一已經存在的成員

ZCARD
ZCARD key
返回有序集key的基數
返回值
當key存在且是有序集型別時,返回有序集的基數
當key不存在時,返回0

ZCOUNT
ZCOUNT key min max
返回有序集key中,score值在min和max之間的成員數量
返回值
score值在min和max之間的成員數量

ZINCRBY
ZINCRBY key increment member
為有序集key的成員member的score值加上增量increment
可以通過傳遞一個負數值 increment ,讓 score 減去相應的值,比如 ZINCRBY key -5
member ,就是讓 member 的 score 值減去 5。
當key不存在,或member不是key的成員時,ZINCRBY key increment member 等同
於 ZADD key increment member
當key不是有序集型別時,返回一個錯誤。
返回值
member 成員的新 score 值,以字串形式表示。

ZRANGE
ZRANGE key start stop [WITHSCORES]
返回有序集key中,指定區間內的成員
其中成員的排序按score值遞增來排序
具有相同score值的按字典序來排列
如果需要成員按scorez值遞減排序,需使用ZREVANGE命令
start和stop引數都以0為下標 0代表第一個元素 ;-1代表最後一個元素、
如果start > stop 則redis返回空列表。
如果stop大於最大值 則按最大值來處理。
可以通過使用 WITHSCORES 選項,來讓成員和它的 score 值一併返回,返回列表以
value1,score1, ..., valueN,scoreN 的格式表示。客戶端庫可能會返回一些更復雜的資料
型別,比如陣列、元組等。
返回值
指定區間內,帶有 score 值(可選)的有序整合員的列表。

ZRANGEBYSCORE
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
返回有序集key中,所有score值介於min和max的成員。有序集按score值遞增來排序。
具有相同score值的按字典序來排列。
可選的 LIMIT 引數指定返回結果的數量及區間(就像SQL中的 SELECT LIMIT offset,
count ),注意當 offset 很大時,定位 offset 的操作可能需要遍歷整個有序集,此過程最
壞複雜度為 O(N) 時間。
可選的 WITHSCORES 引數決定結果集是單單返回有序集的成員,還是將有序整合員及其
score 值一起返回。
區間及無限
min和max可以使 -inf 和 +inf ,這樣就可以在不知道有序集的最低和最高score時,使
用ZRANGEBYSCORE這類命令
預設情況下,區間的取值使用閉區間(小於等於或大於等於),也可以通過給引數前增加 `(`
符號 (小於或大於)
返回值
指定區間內,帶有 score 值(可選)的有序整合員的列表。

ZRANK
ZRANK key member
返回有序集key中成員member的排名。其中有序集按score值遞增來排序。
排名以 0 為底,也就是說, score 值最小的成員排名為 0 。
使用 ZREVRANK 命令可以獲得成員按 score 值遞減(從大到小)排列的排名
返回值
如果 member 是有序集 key 的成員,返回 member 的排名。
如果 member 不是有序集 key 的成員,返回 nil 。

ZREM
ZREM key member [member...]
移除有序集key中的一個或多個成員,不存在的成員被忽略
當key存在但不是有序集是,返回一個錯誤。
返回值
被成功移除的成員的數量,不包括被忽略的成員。

ZREMRANGEBYRANK
ZRAMRANGEBYRANK key start stop
移除有序集key中,指定排名(rank)區間內的所有成員
區間分別以下標引數 start 和 stop 指出,包含 start 和 stop 在內。
下標引數 start 和 stop 都以 0 為底,也就是說,以 0 表示有序集第一個成員,以 1 表示
有序集第二個成員,以此類推。也可以使用負數下標,以 -1 表示最後一個成員, -2 表
示倒數第二個成員,以此類推。
返回值
被移除成員的數量

ZREMRANGEBYSCORE
ZREMRANGESCORT key min max
移除有序集key中,所有score值介於min和max之間(包括等於min和max)的成員
自版本2.1.6開始, score 值等於 min 或 max 的成員也可以不包括在內,詳情請參見
ZRANGEBYSCORE 命令。
返回值
被移除成員的數量

ZRAVRANGE
ZRAVRANGE key start stop [WITHSCORES]
返回有序集key中,指定區間內的成員
其中成員的位置按 score 值遞減(從大到小)來排列。
具有相同 score 值的成員按字典序的逆序(reverse lexicographical order)排列。
除了成員按 score 值遞減的次序排列這一點外, ZREVRANGE 命令的其他方面和
ZRANGE 命令一樣。
返回值
指定區間內,帶有score值(可選)的有序整合員的列表。

ZRAVRANGEBYSCORE
ZRAVRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
返回有序集 key 中, score 值介於 max 和 min 之間(預設包括等於 max 或 min )的所
有的成員。有序整合員按 score 值遞減(從大到小)的次序排列。
具有相同 score 值的成員按字典序的逆序(reverse lexicographical order )排列。
除了成員按 score 值遞減的次序排列這一點外, ZREVRANGEBYSCORE 命令的其他方
面和 ZRANGEBYSCORE 命令一樣。
返回值
指定區間內,帶有 score 值(可選)的有序整合員的列表。

ZRAVRANK
ZRARANK key member
返回有序集 key 中成員 member 的排名。其中有序整合員按 score 值遞減(從大到小)
排序。
排名以 0 為底,也就是說, score 值最大的成員排名為 0 。
使用 ZRANK 命令可以獲得成員按 score 值遞增(從小到大)排列的排名。
返回值
如果 member 是有序集 key 的成員,返回 member 的排名。
如果 member 不是有序集 key 的成員,返回 nil。

ZSCORE
ZSCORE key member
返回有序集key中,成員member和score值
如果 member 元素不是有序集 key 的成員,或 key 不存在,返回 nil。
返回值
member成員個score值,以字串形式表示。

ZUNIONSTORE
ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]]
[AGGREGATE SUM|MIN|MAX]
計算給定的一個或多個有序集的並集,其中給定key的數量必須以numkeys引數指定,
並將該並集(結果集)儲存到destination。
預設情況下,結果集中某個成員的score值是所有給定集下該成員score值之和。
WEIGHTS
使用WEIGHTS選項,你可以為每個給定有序集 分別 指定一個乘法因子,每個給定成員的
score值在傳遞個聚合函式之前都要先乘以該有序集的因子。
如果沒有制定WEIGHTS選項,乘法因子預設值為1。
AGGREGATE
使用AGGREGATE選項,你可以指定並集的結果集的聚合方式。
預設使用的引數SUM,可以將所有集合中某個成員的score值之和作為結果集中該成員的
score值;使用引數MIN,可以將所有集合中某個成員的最小score值作為結果集中該成
員的score值;而引數MAX與MIN相反。
返回值
儲存到destination的結果集的基數

ZINTERSTORE
ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]]
[AGGREGATE SUM|MIN|MAX]
計算給定的一個或多個有序集的交集,其中給定 key 的數量必須以 numkeys 引數指
定,並將該交集(結果集)儲存到 destination 。
預設情況下,結果集中某個成員的 score 值是所有給定集下該成員 score 值之和.
關於 WEIGHTS 和 AGGREGATE 選項的描述,參見 ZUNIONSTORE 命令。
返回值
儲存到destination的結果集的基數

ZSCAN
ZSCAN key cursor [MATCH pattern] [COUNT count]
詳細資訊請參考 SCAN 命令。














相關文章