Redis集合


Redis集合是唯一字串的無序集合。 唯一值表示集合中不允許鍵中有重複的資料。

在Redis中設定新增,刪除和測試成員的存在(恆定時間O(1),而不考慮集合中包含的元素數量)。列表的最大長度為2^32 - 1個元素(即4294967295,每組集合超過40億個元素)。

範例

redis 127.0.0.1:6379> SADD myset "redis" 
(integer) 1 
redis 127.0.0.1:6379> SADD myset "mongodb" 
(integer) 1 
redis 127.0.0.1:6379> SADD myset "mysql" 
(integer) 1 
redis 127.0.0.1:6379> SADD myset "mysql" 
(integer) 0 
redis 127.0.0.1:6379> SMEMBERS "myset"  
1) "mysql" 
2) "mongodb" 
3) "redis"

在上面的範例中,通過命令SADD將三個值插入到名稱為「myset」的Redis集合中。

Redis集合命令

下表列出了與集合相關的一些基本命令。

序號 命令 說明
1 SADD key member1 [member2] 將一個或多個成員新增到集合
2 SCARD key 獲取集合中的成員數
3 SDIFF key1 [key2] 減去多個集合
4 SDIFFSTORE destination key1 [key2] 減去多個集並將結果集儲存在鍵中
5 SINTER key1 [key2] 相交多個集合
6 SINTERSTORE destination key1 [key2] 交叉多個集合並將結果集儲存在鍵中
7 SISMEMBER key member 判斷確定給定值是否是集合的成員
8 SMOVE source destination member 將成員從一個集合移動到另一個集合
9 SPOP key 從集合中刪除並返回隨機成員
10 SRANDMEMBER key [count] 從集合中獲取一個或多個隨機成員
11 SREM key member1 [member2] 從集合中刪除一個或多個成員
12 SUNION key1 [key2] 新增多個集合
13 SUNIONSTORE destination key1 [key2] 新增多個集並將結果集儲存在鍵中
14 SSCAN key cursor [MATCH pattern] [COUNT count] 遞增地疊代集合中的元素