Redis基本类型之Set类型

文章目录

  • Redis基本类型之Set类型
    • 一、概述
      • 1、简介
      • 2、特征
    • 二、Set类型的常见命令
    • 三、操作案例
      • 1、单个集合操作
        • 1.1、sadd(添加一个或多个)
        • 1.2、srem(移除一个或多个)
        • 1.3、scard(获取元素个数)
        • 1.4、sismember(判断元素是否存在)
        • 1.5、smembers(获取所有元素)
      • 2、多个集合操作
        • 2.1、张三的好友有:李四、王五、赵六(sadd)
        • 2.2、李四的好友有:王五、麻子、二狗(sadd)
        • 2.3、计算张三的好友有几人(scard)
        • 2.4、计算张三和李四有哪些共同好友(sinter)
        • 2.5、查询哪些人是张三的好友却不是李四的好友(sdiff)
        • 2.6、查询张三和李四的好友总共有哪些人(sunion)
        • 2.7、判断李四是否是张三的好友(sismember)
        • 2.8、判断张三是否是李四的好友(sismember)
        • 2.9、将李四从张三的好友列表中移除(srem)


Redis基本类型之Set类型

一、概述

1、简介

  • Redis的Set结构与Java中的HashSet类似,可以看做一个value为null的HashMap。因为也是一个hash表,因此具备与HashSet类似的特征。

2、特征

  • 无序
  • 元素不可重复
  • 查找快
  • 支持交集、并集、差集等功能

二、Set类型的常见命令

命令 作用
sadd 向set中添加一个或多个元素
srem 移除set中的指定元素
scard 返回set中元素的个数
sismember 判断一个元素是否存在于set中
smembers 获取set中的所有元素
sinter 求key1与key2的交集
sdiff 求key1与key2的差集
sunion 求key1和key2的并集

三、操作案例

1、单个集合操作

1.1、sadd(添加一个或多个)

  • sadd:向set中添加一个或多个元素
192.168.246.128:6379> SADD sgz a b c
(integer) 3

1.2、srem(移除一个或多个)

  • srem:移除set中的指定元素
192.168.246.128:6379> SREM sgz a
(integer) 1

1.3、scard(获取元素个数)

  • scard:返回set中元素的个数
192.168.246.128:6379> SCARD sgz
(integer) 2

1.4、sismember(判断元素是否存在)

  • sismember:判断一个元素是否存在于set中
192.168.246.128:6379> SISMEMBER sgz a
(integer) 0
192.168.246.128:6379> SISMEMBER sgz b
(integer) 1

1.5、smembers(获取所有元素)

  • smembers:获取set中的所有元素
192.168.246.128:6379> SMEMBERS sgz
1) "c"
2) "b"

2、多个集合操作

2.1、张三的好友有:李四、王五、赵六(sadd)

192.168.8.137:6379> SADD zs lisi wangwu zhaoliu
(integer) 3

2.2、李四的好友有:王五、麻子、二狗(sadd)

192.168.8.137:6379> SADD ls wangwu mazi ergou
(integer) 3

2.3、计算张三的好友有几人(scard)

192.168.8.137:6379> SCARD zs
(integer) 3

2.4、计算张三和李四有哪些共同好友(sinter)

  • sinter:求key1与key2的交集
192.168.8.137:6379> SINTER zs ls
1) "wangwu"

2.5、查询哪些人是张三的好友却不是李四的好友(sdiff)

  • sdiff:求key1与key2的差集
192.168.8.137:6379> SDIFF zs ls
1) "lisi"
2) "zhaoliu"

2.6、查询张三和李四的好友总共有哪些人(sunion)

  • sunion:求key1和key2的并集
192.168.8.137:6379> SUNION zs ls
1) "lisi"
2) "zhaoliu"
3) "wangwu"
4) "mazi"
5) "ergou"

2.7、判断李四是否是张三的好友(sismember)

192.168.8.137:6379> SISMEMBER zs lisi
(integer) 1

2.8、判断张三是否是李四的好友(sismember)

192.168.8.137:6379> SISMEMBER lisi zs
(integer) 0

2.9、将李四从张三的好友列表中移除(srem)

192.168.8.137:6379> SREM zs lisi
(integer) 1

你可能感兴趣的:(Redis,redis,java,数据库)