注册

Redis Set 集合的实例详解

让我来为你详细讲解一下Redis Set集合的实例详解,包含两个示例。

什么是 Redis Set 集合

Redis Set集合是一个无序,不重复的集合。它的实现类似于HashMap和HashSet,实际上是HashMap的一个键的集合。

Redis Set 集合的常用命令

Redis Set集合常用的命令包括:

  • sadd key member [member ...]: 给指定的key添加一个或多个元素,返回添加到集合的元素的个数。
  • srem key member [member ...]: 删除指定key集合中一个或多个元素,返回被移除元素的个数。
  • smembers key: 返回指定key集合中的所有元素。
  • sinter key [key ...]: 返回多个集合的交集。
  • sunion key [key ...]: 返回多个集合的并集。
  • sdiff key [key ...]: 返回一个集合与其它集合的差异。

Redis Set集合的实例详解

示例1:给Set集合添加元素并返回元素的个数

# 连接Redis
redis-cli

# 添加Set集合元素并返回元素的个数
sadd fruits apple orange banana

执行结果如下:

(integer) 3

说明成功将三个元素添加到fruits集合中。

示例2:演示Set集合的交集、并集和差集

# 连接Redis
redis-cli

# 添加两个Set集合
sadd fruits1 apple orange banana
sadd fruits2 orange pear mango

# 计算fruits1和fruits2的交集
sinter fruits1 fruits2

# 计算fruits1和fruits2的并集
sunion fruits1 fruits2

# 计算fruits1和fruits2的差集
sdiff fruits1 fruits2

执行结果如下:

1) "orange"
2) (empty list or set)
1) "apple"
2) "orange"
3) "banana"
4) "pear"
5) "mango"
1) "apple"
2) "banana"

说明fruits1和fruits2的交集是orange,这两个集合的并集是apple, orange, banana, pear, mango,fruits1和fruits2的差集是apple和banana。