Latest web development tutorials

Redis 集合(Set)

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

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

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

實例

redis 127.0.0.1:6379> SADD w3bigkey redis
(integer) 1
redis 127.0.0.1:6379> SADD w3bigkey mongodb
(integer) 1
redis 127.0.0.1:6379> SADD w3bigkey mysql
(integer) 1
redis 127.0.0.1:6379> SADD w3bigkey mysql
(integer) 0
redis 127.0.0.1:6379> SMEMBERS w3bigkey

1) "mysql"
2) "mongodb"
3) "redis"

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


Redis 集合命令

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

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