Redis支持五种数据类型:String(字符串),List(列表),Set(集合),Hash(哈希)及 sorted set(有序集合)。
Set(集合)特点:无序、无重复元素
1、 插入一条set数据
redis 127.0.0.1:6379> sadd frieds:zhangsan "bingbing" "baby" "fengjie" "furong" "ruhua" "xiaxia"
(integer) 6
redis 127.0.0.1:6379> scard frieds:zhangsan #获取Set中成员的数量
(integer) 6
redis 127.0.0.1:6379>
2、获取一条set数据的所有members
redis 127.0.0.1:6379> smembers frieds:zhangsan
1) "fengjie"
2) "baby"
3) "furong"
4) "bingbing"
5) "feifei"
6) "ruhua"
3、判断一个成员是否属于某条指定的set数据(true为1,false为0)
redis 127.0.0.1:6379> sismember frieds:zhangsan "baby" #如果是,则返回1
(integer) 1
redis 127.0.0.1:6379> sismember frieds:zhangsan "liuyifei" #如果不是,则返回0
(integer) 0
4、求两个set数据的差集
(1)求差集,返回数据列表。
redis 127.0.0.1:6379> sdiff frieds:zhangsan friends:xiaotao
1) "furong"
2) "fengjie"
3) "ruhua"
4) "feifei"
(2)求差集,并将结果存入到另一个set集合"zhangsan-xiaotao"中,返回数值。
redis 127.0.0.1:6379> sdiffstore zhangsan-xiaotao frieds:zhangsan friends:xiaotao
(integer) 4
查看差集结果
redis 127.0.0.1:6379> smembers zhangsan-xiaotao
1) "furong"
2) "fengjie"
3) "ruhua"
4) "feifei"
5、 求交集
(1)求交集,返回数据列表。
redis 127.0.0.1:6379> sinter frieds:zhangsan friends:xiaotao
(2)求交集,存入另一set集合,返回数值。
redis 127.0.0.1:6379> sinterstore zhangsan^xiaotao frieds:zhangsan friends:xiaotao
查看交集结果
redis 127.0.0.1:6379> smembers zhangsan^xiaotao
6.、求并集,用法同上
(1)求并集,返回数据列表。
redis 127.0.0.1:6379> sunion frieds:zhangsan friends:xiaotao
(2)求并集,存入另一set集合,返回数值。
redis 127.0.0.1:6379> sunionstore zhangsan+xiaotao frieds:zhangsan friends:xiaotao
查看差集结果
redis 127.0.0.1:6379> smembers zhangsan+xiaotao
应用场景:社交软件类
找共同好友,set类型可去重比较简单。