有序集合類型
zset (sorted set )
redis 有序集合zset和集合set一樣也是string類型元素的集合,且不允許重復的成員。
不同的是 zset 的每個元素都會關聯一個分數(分數可以重復),redis 通過分數來為集合中 的成員進行從小到大的排序。
有序集合類型 zset (sorted set )——基本命令
zadd 語法:zadd key score member [score member…] 作用:將一個或多個 member 元素及其 score 值加入到有序集合 key 中,如果 member存在集合中, 則更新值;score 可以是整數或浮點數 返回值:數字,新添加的元素個數
zadd
語法:zadd key [NX|XX] [CH] [INCR] score member [score member…]
ZADD 參數(options) (>= Redis 3.0.2)
ZADD 命令在key后面分數/成員(score/member)對前面支持一些參數,他們是:
XX: 僅僅更新存在的成員,不添加新成員。
NX: 不更新存在的成員。只添加新成員。
CH: 修改返回值為發生變化的成員總數,原始是返回新添加成員的總數 (CH 是 changed 的意 思)。
更改的元素是新添加的成員,已經存在的成員更新分數。 所以在命令中指定的成員有相同的分 數將不被計算在內。
注:在通常情況下,ZADD返回值只計算新添加成員的數量。
INCR: 當ZADD指定這個選項時,成員的操作就等同ZINCRBY命令,對成員的分數進行遞增操作。
zincrby
語法:ZINCRBY key increment member
作用:對有序集合中指定成員的分數加上增量 increment
可以通過傳遞一個負數值 increment ,讓分數減去相應的值,比如 ZINCRBY key -5 member ,就是讓 member 的 score 值減去 5 。
當 key 不存在,或分數不是 key 的成員時, ZINCRBY key increment member 等同於 ZADD key increment member 。
分數值可以是整數值或雙精度浮點數。
zrange
語法:zrange key start stop [WITHSCORES]
作用:查詢有序集合,指定區間的內的元素。集合成員按 score 值從小到大來排序。
start,stop 都是 從 0 開始。0 是第一個元素,1 是第二個元素,依次類推。
以 -1 表示最后一個成員,-2 表示倒數第二 個成員。WITHSCORES 選項讓 score 和 value 一同返回。
返回值:自定區間的成員集合
zrevrange
語法:zrevrange key start stop [WITHSCORES]
作用:返回有序集 key 中,指定區間內的成員。
其中成員的位置按 score 值遞減(從大到小)來排列。 其它同 zrange 命令。
返回值:自定區間的成員集合
zrem
語法:zrem key member [member…]
作用:刪除有序集合 key 中的一個或多個成員,不存在的成員被忽略
返回值:被成功刪除的成員數量,不包括被忽略的成員。
zcard
語法:zcard key
作用:獲取有序集 key 的元素成員的個數
返回值:key 存在返回集合元素的個數, key 不存在,返回 0
zrangebyscore
語法:zrangebyscore key min max [WITHSCORES ] [LIMIT offset count]
作用:獲取有序集 key 中,所有 score 值介於 min 和 max 之間(包括 min 和 max)的成員,有序 成員是按遞增(從小到大)排序。
min ,max 是包括在內 , 使用符號 ( 表示不包括。
min , max 可以使用 -inf ,+inf 表示 最小和最大 limit 用來限制返回結果的數量和區間。
withscores 顯示 score 和 value
返回值:指定區間的集合數據
zrevrangebyscore
語法:zrevrangebyscore key max min [WITHSCORES ] [LIMIT offset count]
作用:返回有序集 key 中, score 值介於 max 和 min 之間(默認包括等於 max 或 min )的所有的成 員。
有序集成員按 score 值遞減(從大到小)的次序排列。其他同 zrangebyscore
zcount
語法:zcount key min max
作用:返回有序集 key 中, score 值在 min 和 max 之間(默認包括 score 值等於 min 或 max ) 的成員的數量
有序集合類型
zset(sorted set )
1)基本命令: zadd/ zrange/ zrevrange/zrem/zcard
2)常用命令: zrangebyscore/zrevrangebyscore/zcount