在 Redis 中,SET 是一种无序字符串类型的集合,它的每个元素都是唯一的。与列表类型不同,SET 中不允许重复的元素。
SET 的常用命令有:
- SADD key member [member ...]:向指定 key 的 SET 中添加一个或多个元素。如果 key 不存在,则会先创建一个新的 SET。
- SREM key member [member ...]:从指定 key 的 SET 中删除一个或多个元素。如果 key 不存在,则被视为一个空的 SET,并且返回 0。
- SMEMBERS key:获取指定 key 的所有元素。
- SISMEMBER key member:判断指定 key 的 SET 是否包含指定的元素。
- SCARD key:获取指定 key 的 SET 中元素的数量。
- SUNION key [key ...]:获取多个 SET 的并集。
- SINTER key [key ...]:获取多个 SET 的交集。
- SDIFF key [key ...]:获取多个 SET 的差集。
在 Redis 中,SET 适合用于处理无序、唯一的数据,例如:
- 标签系统:可以使用 SET 来存储每个标签,每个文章对应一个标签集合。
- 在线用户:可以使用 SET 来存储当前在线的用户 ID,每当有用户登录或者注销时,就向对应的 SET 中添加或者删除元素。
- 好友关系:可以使用 SET 来存储每个用户的好友 ID,每个用户对应一个好友集合。
使用 SET 可以方便地对集合进行添加、删除、查找等操作,并且可以快速地获取两个集合的并集、交集、差集等。