Redis系列-set類型和zset類型

來源:互聯網
上載者:User
set類型 

Set是集合,它是string類型的無序集合。

set是通過hash table 實現的,添加、刪除和尋找的複雜度都是0(1)。

對集合我們可以取並集、交集、差集。

sadd 向名稱為key的set中添加元素

sadd myset "hello"

smembers  查看集合

smembers myset

srem 刪除元素

srem myset "one" 返回1 刪除成功 返回0 刪除失敗



spop 隨機返回並刪除名稱為key的set中的一個元素 

spop myset


sdiff 返回所有給定key與第一個key的差集 

sdiff myset1 myset2 (以前面一個為標準)



sdiffstore 返回所有給定key與第一個key的差集,並將結果存為另外一個key. 

sdiffstore myset3 myset1 myset2   # 將 myset1 myset2 的差集存到myset3裡面(以myset1為基準)



sinter 返回給定key的交集 

sinter myset4 myset5



sinterstore 將交集儲存到另外一個集合 sinterstore myset6 myset1 myset2  (與sdiffstore類似)


sunion 並集 

sunion myset1 myset2 

sunionstore 取並集存到新的set 

sunionstore myset7 myset1 myset2 #返回插入的元素個數



smove 從第一個key對應的set中移除member並添加到第二個對應的set中 

smove myset2 myset7 three #成功返回1 失敗返回0



scard 查看集合的個數 scard myset2


sismember 測試member是否是名稱為key的set的元素 

sismember myset2 two 是返回1 不是返回0


srandmember 隨機返回 (因為set無序)

srandmember myset7


sorted sets 類型 

sorted set是set的一個升級版本,它在set的基礎上增加了一個順序屬性,這一屬性在添加修改元素的時候可以指定,

每次指定後,zset會自動重新按新的值調整順序,可以理解為由兩列的mysql,一列存value,一列存順序。

其中key理解為zset的名字.

zadd 添加元素 

zadd myzset 1 "one" 

zadd myzset 2 "two" 

zadd myzset 3 "three" 

zrange myzset 0 -1 withscores 

這裡的0和-1代表的是索引 withscores 輸出順序號



zrem 刪除名稱為key的zset中的元素 

zrem myzset two


zincrby 以指定值來增加(減少)順序 對數序號進行加減 

如果在名稱為key的zset中,已經存在元素member,則該元素的sroce增加increment,

否則向該集合添加元素,其score的值為incrnment

zincrby myzset 2 one 


再比如 four這個元素是不存在的



zrank 返回名稱為key的zset中的member元素的排名 (按score從小到大排序) 即下標 

zrank myzset two



zrevrank 反轉 按照score從大到小排名 zrevrank myzset two


zrevrange 逆序 降序排序 

zrevrange myzset 0 -1 withscores


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.