一. Set
set特点:
-
set是没有排序字符集合
-
和List类型不同的是,set集合中不允许出现重复的元素
-
多个since之间的聚合、计算操作都是在服务端中进行的,能够极大节省网络开销
-
set可包含的最大元素数量是4294967295
set使用场景:
-
set可以用于跟踪一些具有唯一性数据,比如每个用于的访问博客的ip地址就可以用Redis的set存储
-
维护数据对象之间的关联关系,比如购买了a商品的用户ID都存入到一个set中,购买了b商品的用户ID都存入另一个商品中,如果需要查看同时购买了这两个商品的用户,只需要做交集运算就可以了
二. Set命令
set常用命令如下:
-
sadd:添加元素,注意,set集合的元素不允许重复
jia:0>sadd jia a b c "3" jia:0>sadd jia a "0"
-
srem:删除元素
jia:0>srem jia c "1"
-
smembers:获得集合中的元素
jia:0>smembers jia 1) "a" 2) "b"
-
sismember:可以在集合后面添加元素名来判断该元素是否在该集合中,0代表不存在,1代表存在
jia:0>sismember jia c "0" jia:0>sismember jia a "1"
-
sdiff:集合中的差集运算
jia:0>sadd jia1 a b c "3" jia:0>sadd jia2 a c d e "4" jia:0>sdiff jia1 jia2 1) "b"
-
sinter:集合中的交集运算
jia:0>sinter jia1 jia2 1) "a" 2) "c"
-
sunion:集合中的并集运算
jia:0>sunion jia1 jia2 1) "e" 2) "c" 3) "b" 4) "a" 5) "d"
-
scard:集合中元素数量
jia:0>scard jia1 "3"
-
srandmember:随机返回集合中的元素:
jia:0>srandmember jia2 "d" jia:0>srandmember jia2 "a"
-
sdiffstore:将两个集合的差集存储在新的集合上
jia:0>sdiffstore jia3 jia1 jia2 "1" jia:0>smembers jia3 1) "b"
-
sinterstore:将两个集合的交集存储在新的集合上
jia:0>sinterstore jia4 jia1 jia2 "2" jia:0>smembers jia4 1) "a" 2) "c"
-
sunionstore:将两个集合的并集存储在新的集合上
jia:0>sunionstore jia5 jia1 jia2 "5" jia:0>smembers jia5 1) "e" 2) "c" 3) "b" 4) "a" 5) "d"
三. 总结
set常用命令如下:
-
sadd:添加元素:
-
srem:删除元素
-
smembers:获得集合中的元素
-
sismember:可以在集合后面添加元素名来判断该元素是否在该集合中
-
sdiff:集合中的差集运算
-
sinter:集合中的交集运算
-
sunion:集合中的并集运算
-
scard:集合中元素数量
-
srandmember:随机返回集合中的元素:
-
sdiffstore:将两个集合的差集存储在新的集合上
-
sinterstore:将两个集合的交集存储在新的集合上
-
sunionstore:将两个集合的并集存储在新的集合上
请登录之后再进行评论