天天看點

Redis指令——集合(Set)

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