Redis 的 Set 是 String 類型的無序集合。集合成員是 唯一 的,這就意味着集合中不能出現重複的數據;
集合中最大的成員數爲 232 - 1 (40多億個成員);
集合的常用功能
1. 並集 : 兩個集合合併,重複的只出現一次()
2.交集 : 兩個集合共同部分,
3.差集 : 出去共有的部分,剩下的就是交集
操作命令:
序號 命令及描述
- SADD key member1 [member2]
向集合添加一個或多個成員 - SCARD key
獲取集合的成員數 - SDIFF key1 [key2]
返回給定所有集合的差集 - SDIFFSTORE destination key1 [key2]
返回給定所有集合的差集並存儲在 destination 中 - SINTER key1 [key2]
返回給定所有集合的交集 - SINTERSTORE destination key1 [key2]
返回給定所有集合的交集並存儲在 destination 中 - SISMEMBER key member
判斷 member 元素是否是集合 key 的成員 - SMEMBERS key
返回集合中的所有成員 - SMOVE source destination member
將 member 元素從 source 集合移動到 destination 集合 - SPOP key
移除並返回集合中的一個隨機元素 - SRANDMEMBER key [count]
返回集合中一個或多個隨機數 - SREM key member1 [member2]
移除集合中一個或多個成員 - SUNION key1 [key2]
返回所有給定集合的並集 - SUNIONSTORE destination key1 [key2]
所有給定集合的並集存儲在 destination 集合中 - SSCAN key cursor [MATCH pattern] [COUNT count]
迭代集合中的元素
集合的應用場景
- 用戶標籤
集合類型比較典型的使用場景,如一個用戶對娛樂、體育比較感興趣,另一個可能對新聞感興
趣,這些興趣就是標籤,有了這些數據就可以得到同一標籤的人,以及用戶的共同愛好的標籤,
這些數據對於用戶體驗以及曾強用戶粘度比較重要。 - 共同好友,共同愛好
要得到兩個用戶共同的標籤,或者愛好或者好友,就可以通過交集的方式來獲取