1. 程式人生 > >集合(無序,區別有序集合)

集合(無序,區別有序集合)

刪除 water ces 增加 9.png range src inter 了無

集合 set 相關命令

集合的性質: 唯一性,無序性,確定性
無序性,例:{1,2}=={2,1}
唯一性,每一個值都是唯一的

註: 在string和link的命令中,可以通過range 來訪問string中的某幾個字符或某幾個元素
但,因為集合的無序性,無法通過下標或範圍來訪問部分元素.

因此想看元素,要麽隨機先一個,要麽全選

sadd key value1 value2

作用: 往集合key中增加元素

技術分享圖片

srem value1 value2

作用: 刪除集合中集為 value1 value2的元素
返回值: 忽略不存在的元素後,真正刪除掉的元素的個數

技術分享圖片

spop key

作用: 返回並刪除集合中key中1個隨機元素

隨機--體現了無序性

技術分享圖片
(spop會彈出/刪除key中的元素,可以用這個來抽獎,第一名抽出來,第二名,第三名...)

srandmember key

作用: 返回集合key中,隨機的1個元素.
技術分享圖片
(和spop不同,不會彈出/刪除key中的元素)

sismember key value

作用: 判斷value是否在key集合中
是返回1,否返回0

技術分享圖片

smembers key

作用: 返回集中中所有的元素

scard key

作用: 返回集合中元素的個數
技術分享圖片

smove source dest value

作用:把source中的value刪除,並添加到dest集合中

技術分享圖片

sinter key1 key2 key3

作用: 求出key1 key2 key3 三個集合中的交集,並返回
redis 127.0.0.1:6379> sadd s1 0 2 4 6
(integer) 4
redis 127.0.0.1:6379> sadd s2 1 2 3 4
(integer) 4
redis 127.0.0.1:6379> sadd s3 4 8 9 12
(integer) 4
redis 127.0.0.1:6379> sinter s1 s2 s3
1) "4"
redis 127.0.0.1:6379> sinter s3 s1 s2
1)"4"

sinterstore dest key1 key2 key3

作用: 求出key1 key2 key3 三個集合中的交集,並賦給dest
技術分享圖片

suion key1 key2.. Keyn

作用: 求出key1 key2 keyn的並集,並返回
技術分享圖片

sdiff key1 key2 key3

作用: 求出key1與key2 key3的差集
即key1-key2-key3

技術分享圖片

集合(無序,區別有序集合)