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]
迭代集合中的元素