Redis Set和ZSet經常使用命令

Redis Set和ZSet經常使用命令

Set

1. SADD :添加多個元素到集合中
127.0.0.1:6379> sadd goodfood "potato" "tomato" "apple"
(integer) 3
2. SMOVE 命令:移動集合元素到另外一個集合中
smove source destination member
3. SUNIONSTORE 命令:保存多個集合元素到新集合中
127.0.0.1:6379> sunionstore foods goodfood
(integer) 3
4. SISMEMBER 命令:判斷某個元素是否在集合中
5. SCARD 命令:獲取集合中元素的數量
6. SMEMBERS 命令:獲取集合中的全部元素
7. SRANDMEMBER 命令:隨機獲取集合中的一個元素
8. SUNION 命令:獲取多個集合中的全部元素
127.0.0.1:6379> sunionstore foods goodfood
(integer) 3
127.0.0.1:6379> sismember foods "apple"
(integer) 1
127.0.0.1:6379> scard foods
(integer) 3
127.0.0.1:6379> smembers foods
1) "apple"
2) "tomato"
3) "potato"
127.0.0.1:6379> srandmember foods
"apple"
127.0.0.1:6379> srandmember foods 2
1) "apple"
2) "potato"
127.0.0.1:6379> sunion foods goodfood
1) "apple"
2) "tomato"
3) "potato"
9. SDIFF 命令:獲取多個集合元素的差集
127.0.0.1:6379> sdiff foods goodfood
(empty list or set)
10. SDIFFSTORE 命令:獲取多個集合差集的元素個數(返回新集合difffood)
127.0.0.1:6379> sdiffstore difffood foods goodfood
(integer) 0
11. SINTER 命令:獲取多個集合元素的交集
127.0.0.1:6379> sinter foods goodfood
1) "apple"
2) "tomato"
3) "potato"
12. SINTERSTORE 命令:獲取多個集合交集的元素個數(返回新集合newfood)
127.0.0.1:6379> sinterstore newfood foods goodfood
(integer) 3
13. SPOP 命令:隨機刪除集合中的元素
14. SREM 命令:刪除集合中的多個元素
127.0.0.1:6379> spop foods
"potato"
127.0.0.1:6379> srem foods "apple"
(integer) 1

ZSet

1. ZADD : 添加多個元素到有序集合中
127.0.0.1:6379> zadd city:gdp 95 "beijing" 99.5 "shanghai" 98 "guangzhou"
(integer) 3
2. ZINCRBY 命令:爲分數值加上增量
127.0.0.1:6379> zincrby city:gdp 3 "beijing"
"98"
3. ZCARD 命令:獲取有序集合中的元素數量
4. ZCOUNT 命令:獲取在分數區間內的元素數量
127.0.0.1:6379> zcard city:gdp
(integer) 3
127.0.0.1:6379> zcount city:gdp 99 100
(integer) 1
5. ZLEXCOUNT 命令:獲取在指定區間內的元素數量

ZLEXCOUNT 命令用於獲取有序集合 key 中介於 min 和 max 範圍內的元素數量,這個有序集合 key 中的全部元素的 score 值都相等。app

參數 min 和 max 是一個區間,區間通常使用「(」或「[」表示,其中,「(」表示開區間,「(」指定的值不會被包含在範圍以內;「[」表示閉區間,「[」指定的值會被包含在範圍以內。另外,特殊值 + 和-在參數 min 和 max 中具備特殊含義,其中,+ 表示正無窮,-表示負無窮。咱們向一個元素分數相同的有序集合發送命令 ZLEXCOUNT<zset>-+,將會返回這個有序集合中的全部元素。code

6. ZRANGE 命令:獲取在指定區間內的元素(升序)
127.0.0.1:6379> zrange city:gdp 0 -1
1) "beijing"
2) "guangzhou"
3) "shanghai"
7. ZREVRANGE 命令:獲取在指定區間內的元素(降序)
8. ZSCORE 命令:獲取元素的分數值
127.0.0.1:6379> zscore city:gdp "beijing"
"98"
9. ZRANGEBYLEX 命令:獲取集合在指定範圍內的元素

ZRANGEBYLEX 命令用於返回有序集合 key 中,元素 score 值介於 min 和 max 之間的元素,這個有序集合 key 中的全部元素具備相同的 score 值,它們按照字典序排序。若是有序集合 key 中的元素對應的 score 值不一樣,則在執行該命令後,返回的結果是未指定的(unspecified)。排序

可選的 LIMIT offset count 參數用於獲取指定範圍內的匹配元素。此時,須要注意,若是 offset 參數的值很是大,那麼該命令在返回結果以前,須要先遍歷到 offset 所指定的位置。ci

參數 min 和 max 是一個區間,區間通常使用「(」或「[」表示,其中,「(」表示開區間,「(」指定的值不會被包含在範圍以內;「[」表示閉區間,「[」指定的值會被包含在範圍以內。另外,特殊值 + 和-在參數 min 和 max 中具備特殊含義,其中,+ 表示正無窮,-表示負無窮。咱們向一個元素分數相同的有序集合發送命令 ZRANGEBYLEX<zset>-+,將會返回這個有序集合中的全部元素。rem

10. ZRANGEBYSCORE 命令:獲取在指定分數區間內的元素
127.0.0.1:6379> ZRANGEBYSCORE  city:gdp 0 100
1) "beijing"
2) "guangzhou"
3) "shanghai"
11. ZREVRANGEBYSCORE 命令:獲取在指定區間內的全部元素

RANGEBYSCORE 命令用於返回有序集合 key 中,全部 score 值介於 min 和 max 之間(包含等於 min 和 max)的元素。有序集合 key 中的元素按照 score 值從小到大的順序排序。當你不知道 min 和 max 參數的具體值時,能夠使用-inf 來表示 min 值,使用 +inf 來表示 max 值。在默認狀況下,min 與 max 區間是閉區間(小於等於或大於等於),也能夠在參數前面添加「(」符號來使用可選的開區間(小於或大於)。it

當具備相同 score 值的元素時,有序集合元素會按照字典序排序。io

使用 WITHSCORES 選項來返回元素的 score 值。遍歷

可選的 LIMIT offset count 參數用於獲取指定範圍內的匹配元素。若是 offset 參數的值很是大,那麼該命令在返回結果以前,須要先遍歷到 offset 所指定的位置。nio

12. ZRANK 命令:獲取有序集合元素的排名
13. ZREVRANK 命令:獲取有序集合元素的倒序排名
127.0.0.1:6379> zrank city:gdp "shanghai"
(integer) 2
14. ZINTERSTORE 命令:保存多個有序集合的交集
15. ZUNIONSTORE 命令:保存多個有序集合的並集
16.ZREM 命令:刪除有序集合中的多個元素
127.0.0.1:6379> zrem city:gdp "shanghai"
(integer) 1
17.ZREMRANGEBYLEX 命令:刪除有序集合在指定區間內的元素
18. ZREMRANGEBYRANK 命令:刪除有序集合在指定排名區間內的元素
19. ZREMRANGEBYSCORE 命令:刪除有序集合在指定分數區間內的元素
相關文章
相關標籤/搜索