標籤:redis set 資料類型
在redis中,集合類型有兩種,一種是無序、不重複的(set),另一種是有序的(zset);本文講述無序集合的文法使用規則。理解redis中的集合類型,可以類比於數學中的集合,集合存在三種關係:交集、並集、差集,其中差集的概念有一點的出入,詳細見文法使用描述。
1、添加元素
文法:sadd [set集合] [元素]範例:sadd set1 one sadd set1 one闡述:建立set1結合,並添加one元素到集合中,如果set1已經存在,那麼僅僅添加元素過程;第二次添加one元素不成功,因為集合是不重複的。
2、刪除元素
# 刪除元素有兩種方式:一種是刪除指定元素;另一種是隨機刪除# 刪除指定元素文法:srem [set集合] [元素]範例:srem set1 one # 刪除set1中的one元素# 隨機刪除一個元素文法:spop [set集合] [元素]範例:spop set1 # 隨機刪除set1集合中的一個元素,並返回刪除的元素
3、交集
文法1:sinter [set1] [set2]...[setn]範例:sinter set1 set2 set3 闡述:擷取三個集合中的共同元素# 文法1可以擷取集合之間的交集,但是交集元素集合是暫時性質的,如果想將交集結果儲存到指定的# 集合中可採取文法2.文法2:sinterstore [儲存set] [set1] [set2] ... [setn]範例:sinterstore set4 set1 set2 set3闡述:將set1,set2,set3的交集結果儲存到set4中
4、並集
# 與交集一樣分為兩種文法規則。文法1:sunion [set1] [set2]...[setn]文法2: sunionstore [set1] [set2]...[setn]範例:sunion set1 set2 set3 sunuinstore set1 set2 set3
5、差集
# 與交集一樣分為兩種文法規則。文法1:sdiff[set1] [set2]...[setn]文法2: sdiffstore [set1] [set2]...[setn]範例:sdiff set1 set2 set3 sdiffstore set1 set2 闡述:在數學中的差集是兩者都相同的元素的集合,但是前者集合與後者集合不同的元素列表。例如:set1={1,2,3},set2={2,3,4},set3={3,4,5},那麼sdiff set1 set2 set3的結果為{1},也就是set1與set2、set3集合不同的元素列表。
6、遍曆集合
文法:smembers [set集合]範例:smembers set1 # 遍曆set1集合,無序輸出
7、移動元素
文法:smove [set1] [set2] [元素]範例:smove set1 set2 one # 將set1中的one元素刪除,並添加到set2中
8、擷取集合大小
文法:scard [集合]範例:scard set1 # 擷取set1集合大小
9、隨機擷取元素
文法:srandmember [集合]範例:srandmember set1 # 隨機擷取set1集合中的一個元素,但不刪除
10、判斷是否包含某個元素
文法:sismember [set集合] [元素]範例:sisimember set1 one # 判斷one是否是set1中的元素,是則返回1,否則返回0
本文出自 “java程式冥” 部落格,請務必保留此出處http://793404905.blog.51cto.com/6179428/1549008
[redis資料結構] 之 set集合