SADD : 將元素添加到集合
127.0.0.1:6379> sadd list element [element ...]
命令返回成功添加的元素數量作為返回值
127.0.0.1:6379> sadd databases "redis" (integer) 1
忽略已存在的元素,因為集合不存儲相同的元素
127.0.0.1:6379> sadd databases "redis" (integer) 0
如果有新元素與已存在的舊元素,忽略已存在的元素
127.0.0.1:6379> sadd databases "redis" "mysql" (integer) 1
srem 從集合里移除元素
127.0.0.1:6379> SREM set element [element ...]
移除元素操作
127.0.0.1:6379> SREM databases "redis" (integer) 1
如果給定元素不存在於集合里,那么srem命令會忽略不存在元素,只移除存在的元素
127.0.0.1:6379> srem databases "memcached" (integer) 0
smove :將一個元素熊一個集合移動到另一個集合
127.0.0.1:6379> SMOVE source target element
使用smove命令將存在於databases集合的redis元素以及mongodb元素移動到nodes集合里
127.0.0.1:6379> sadd databases "redis" "mongodb" (integer) 2 127.0.0.1:6379> SMOVE databases nodesql "redis" (integer) 1 127.0.0.1:6379> SMOVE databases nodesql "mongodb" (integer) 1
忽略不存在的元素,如果用戶想要移動的元素並不存在與原集合,那么smove將放棄執行移動操作,返回0表示失敗
127.0.0.1:6379> sadd tr "app" "lpp" "cpp" (integer) 3 127.0.0.1:6379> sadd tk "aipp" "lipp" "clpp" (integer) 3 127.0.0.1:6379> SMOVE tr tk "apple" 不存在 (integer) 0 127.0.0.1:6379> SMOVE tr tk "app" (integer) 1
smembers :獲取集合包含的所以元素
SMEMBERS set
獲取集合tk里所有元素
127.0.0.1:6379> SMEMBERS tk 1) "app" 2) "aipp" 3) "clpp" 4) "lipp"
元素的無序排列:因為redis集合以無序的方式存儲,並且以smembers命令在獲取元素時也不會對元素進行任何排序,所以根據元素添加順序不同,兩個包含相同元素的集合在執行smembers命令時結果也會有所不同
127.0.0.1:6379> sadd redis-1 "apple" "banana" "cherry" "hg" (integer) 4 127.0.0.1:6379> sadd redis-2 "hg" "banana" "apple" "cherry" (integer) 4 127.0.0.1:6379> SMEMBERS redis-1 1) "hg" 2) "cherry" 3) "apple" 4) "banana" 127.0.0.1:6379> SMEMBERS redis-2 1) "cherry" 2) "hg" 3) "apple" 4) "banana"
scard:獲取集合包含元素數量
127.0.0.1:6379> SCARD set
查看redis-1 包含元素數量
127.0.0.1:6379> SCARD redis-1 (integer) 4
sismember:檢查給定的元素是否存在於集合里
127.0.0.1:6379> SISMEMBER set element
查看測試
127.0.0.1:6379> SMEMBERS databases 1) "Neo4j" 2) "mysql" 3) "redis" 4) "mongodb" 5) "Postgresql" 127.0.0.1:6379> SISMEMBER databases "redis" (integer) 1 127.0.0.1:6379> SISMEMBER databases "mongodb" (integer) 1 127.0.0.1:6379> SISMEMBER databases "mysql" (integer) 1
檢查不存在的元素
127.0.0.1:6379> SISMEMBER databases "oracle" (integer) 0
srandmember:隨機獲取集合里元素,命令不會移除集合里元素
127.0.0.1:6379> SRANDMEMBER databases "mongodb" 127.0.0.1:6379> SRANDMEMBER databases "redis" 127.0.0.1:6379> SRANDMEMBER databases "redis" 127.0.0.1:6379> SRANDMEMBER databases "redis"
隨機獲取指定數量的元素
127.0.0.1:6379> SRANDMEMBER databases 2 1) "Neo4j" 2) "mongodb" 127.0.0.1:6379> SRANDMEMBER databases 3 1) "redis" 2) "mysql" 3) "Neo4j"
spop 隨機從集合移除指定數量元素默認一個元素
127.0.0.1:6379> spop key [count]
隨機移除元素操作
127.0.0.1:6379> spop databases "mysql" 127.0.0.1:6379> SMEMBERS databases 1) "redis" 2) "Neo4j" 3) "Postgresql" 4) "mongodb"
sinter sinterstore:對集合進行交集計算
127.0.0.1:6379> sinter set [set set] [key ...]
創建兩個元素,查看交集
127.0.0.1:6379> sadd c1 "a" "b" "c" "d" (integer) 4 127.0.0.1:6379> sadd c2 "c" "d" "e" "f" (integer) 4 127.0.0.1:6379> SINTER c1 c2 1) "d" 2) "c"
sinterstore 命令可以把給定的集合的交集計算結果存儲到指定的鍵里
127.0.0.1:6379> SINTERSTORE destination_key set [set ...]
將c1與c2的交集寫入c3里
127.0.0.1:6379> SINTERSTORE c3 c1 c2 (integer) 2 127.0.0.1:6379> SMEMBERS c3 1) "d" 2) "c"
sunion 、sunionstore 集合並執行並集運算
127.0.0.1:6379> SUNION set [set ...] [key
對c1與c2進行並集運算
127.0.0.1:6379> SUNION c1 c2 1) "d" 2) "f" 3) "c" 4) "e" 5) "b" 6) "a"
sunionstore 並集結果存入c4里
127.0.0.1:6379> SUNIONSTORE c4 c1 c2 (integer) 6 127.0.0.1:6379> SMEMBERS c4 1) "d" 2) "f" 3) "c" 4) "e" 5) "b" 6) "a"
sdiff sdiffstore 對集合進行差集運算
127.0.0.1:6379> SDIFF set [set ...]
對c1與c2 進行差集運算
127.0.0.1:6379> SDIFF c1 c2 1) "b" 2) "a"
sdiffstore 把c1與c2的差集運算的結果寫進c5里
127.0.0.1:6379> SDIFFSTORE c5 c1 c2 (integer) 2 127.0.0.1:6379> SMEMBERS c5 1) "b" 2) "a"