top
Loading...
Redis 集合(Set)

Redis 集合(Set)

Redis 的 Set 是 String 類型的無序集合。集合成員是唯一的,這就意味著集合中不能出現重復的數據。

Redis 中集合是通過哈希表實現的,所以添加,刪除,查找的復雜度都是 O(1)。

集合中最大的成員數為 232 - 1 (4294967295, 每個集合可存儲40多億個成員)。

實例

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

在以上實例中我們通過 SADD 命令向名為 runoobkey 的集合插入的三個元素。


Redis 集合命令

下表列出了 Redis 集合基本命令:

序號命令及描述
1SADD key member1 [member2]
向集合添加一個或多個成員
2SCARD key
獲取集合的成員數
3SDIFF key1 [key2]
返回給定所有集合的差集
4SDIFFSTORE destination key1 [key2]
返回給定所有集合的差集併存儲在 destination 中
5SINTER key1 [key2]
返回給定所有集合的交集
6SINTERSTORE destination key1 [key2]
返回給定所有集合的交集併存儲在 destination 中
7SISMEMBER key member
判斷 member 元素是否是集合 key 的成員
8SMEMBERS key
返回集合中的所有成員
9SMOVE source destination member
將 member 元素從 source 集合移動到 destination 集合
10SPOP key
移除併返回集合中的一個隨機元素
11SRANDMEMBER key [count]
返回集合中一個或多個隨機數
12SREM key member1 [member2]
移除集合中一個或多個成員
13SUNION key1 [key2]
返回所有給定集合的併集
14SUNIONSTORE destination key1 [key2]
所有給定集合的併集存儲在 destination 集合中
15SSCAN key cursor [MATCH pattern] [COUNT count]
疊代集合中的元素
北斗有巢氏 有巢氏北斗