Redis的Set是string類型的無序集合。集合成員是唯一的,這就意味着集合中不能出現重複的資料。
Redis 中 集合是通過哈希表實作的,是以添加,删除,查找的複雜度都是O(1)。
集合中最大的成員數為 232 - 1 (4294967295, 每個集合可存儲40多億個成員)。
執行個體
redis 127.0.0.1:6379> SADD mykey redis
(integer) 1
redis 127.0.0.1:6379> SADD mykey mongodb
(integer) 1
redis 127.0.0.1:6379> SADD mykey mysql
(integer) 1
redis 127.0.0.1:6379> SADD mykey mysql
(integer) 0
redis 127.0.0.1:6379> SMEMBERS mykey
1) "mysql"
2) "mongodb"
3) "redis"
在以上執行個體中我們通過 SADD 指令向名為 mykey 的集合插入的三個元素。
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 集合中 |
參考:
https://redis.io/commands http://www.runoob.com/redis/redis-sets.html http://www.redis.net.cn/tutorial/3511.html https://www.yiibai.com/redis/redis_sets.html