Redis集
Redis的Set是string類型的無序集合。集合成員是唯一的,這意味著集合中不能出現重複的資料。
Redis 中 集合是透過哈希表實現的,所以添加,刪除,查找的複雜度都是O(1)。
集合中最大的成員數為 232 - 1 (4294967295, 每個集合可儲存40多億個成員)。
實例
redis 127.0.0.1:6379> SADD w3ckey redis (integer) 1 redis 127.0.0.1:6379> SADD w3ckey mongodb (integer) 1 redis 127.0.0.1:6379> SADD w3ckey mysql (integer) 1 redis 127.0.0.1:6379> SADD w3ckey mysql (integer) 0 redis 127.0.0.1:6379> SMEMBERS w3ckey 1) "mysql" 2) "mongodb" 3) "redis"
在上述實例中我們透過 SADD 指令插入名為 w3ckey 的集合的三個元素。
Redis 集合指令
下表列出了Redis 集合基本指令:
指令及描述 | |
---|---|
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 集合中 |