集合set類型也是用來保存多個的字符串元素,但和列表類型不一樣的是,集合中不允許有重複元素,並且集合中的元素是無序的,不能通過索引下標獲取元素。
Redis對Set的基本操作:
SADD key member [member ......]向集合中添加一個或多個元素,如果member不存在則自動創建,如果存在則忽略,命令返回成功插入元素數量。
SREM key member [member ......]從集合中刪除一個或多個元素,命令返回刪除成功的個數
SMEMBERS key 獲得集合中的所有元素
SISMEMBER key member判斷元素是否在集合中
SCARD key計算元素個數
SRANDMEMBER key [count]隨機從集合中返回指定個數元素
SPOP key 隨機從集合中彈出元素
集合間運算
SINTER key [key ......] 求多個集合的交集
SUNION key [key ......]求多個集合的並集
SDIFF key [key ......] 求多個集合的差集
有序集合保留了集合不能有重複成員的特性,但不同的是,有序集合中的元素可以排序 ,它是給每個元素設置一個分數 score 作為排序的依據。
ZADD key score member [score member ......] 向有序集合中加入一個元素和此元素的分數,如果此元素存在則用親的分數替換原來的分數。
ZCARD key 計算成員個數
ZSCORE key member獲得元素的分數
ZRANK key member 從分數從低到高返回排名,排名從0開始
ZREVRANK key member從分數從高到低返回排名,排名從0開始
ZREM key member [member ......] 刪除成員
ZINCRBY key increment member增加成員的分數
ZRANGE key start stop [WITHSCORES] 返回指定排名範圍的成員,從低到高
ZREVRANGE key start stop[WITHSCORES]返回指定排名範圍的成員,從高到低
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT OFFSET COUNT] 返回指定分數範圍的成員,從低到高,limit 限制輸出的起始位置和個數
ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT OFFSET COUNT] 返回指定分數範圍的成員,從高到低,limit 限制輸出的起始位置和個數
ZCOUNT key min max 返回指定分數範圍成員個數
ZREMRANGEBYRANK key start end 刪除指定排名內的升序元素
ZREMRANGEBYSCORE key min max 刪除指定分數範圍的成員
集合間運算
ZINTERSTOREdestinationnumkeys key [key ......][weights weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
此命令用來計算多個有序集合的交集並將結果存儲在 destination 鍵中,返回值 為destination鍵中的元素個數
當AGGREGATE 是 SUM 時(默認值),destination鍵中元素的分數是每個參與計算的集合中此元素的分數和
當AGGREGATE 是 MIN,destination鍵中元素的分數是每個參與計算的集合中此元素的分數的最小值
當AGGREGATE 是 MAX,destination鍵中元素的分數是每個參與計算的集合中此元素的分數的最大值
ZUNIONSTOREdestinationnumkeys key [key ......][weights weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
此命令跟ZINTERSTORE用法一致,只不過是計算並集
至此Redis中五種數據類型的基本操作就算結束了!
閱讀更多 程序從入門到放棄 的文章