redis系列(06):Set类型操作
本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/10950727.html
Set类型是没有排序的字符集合,可以执行添加、删除或判断某一元素是否存在等操作。
和List类型相比,Set集合中不允许出现重复的元素,Sets之间可以聚合计算操作,如unions并、intersections交和differences差。
应用场景:聚合计算(并集、交集、差集)场景,比如点赞、共同关注、抽奖活动等。
sadd、smembers、sismember、scard
sadd
由于该键test之前并不存在,因此参数中的三个成员都被正常插入
smembers
查看集合中的元素,从结果可以,输出的顺序和插入顺序无关
由于参数中的a在test中已经存在,因此本次操作仅仅插入了d和e两个新成员
sismember
判断a是否已经存在,返回值为1表示存在
判断w是否已经存在,返回值为0表示不存在
scard
获取集合中元素的数量
srandmember、spop
srandmember
随机返回一个成员,成员还在集合中
spop
取出一个成员,成员会从集合中删除
sdiff、sdiffstore、sinter、sinterstore、sunion、sunionstore
sdiff
获取多个集合之间的不同成员
先将test和test2进行比较,a、b和d三个成员是两者之间的差异成员,然后再用这个结果继续和
test3进行差异比较,b和d是test3不存在的成员
sdiffstore
将3个集合的差异成员存储到与diffkey关联的Set中,并返回插入的成员数量
sinter
获取多个集合之间的交集,这三个Set的成员交集只有c
sinterstore
将3个集合中的交集成员存储到与intertest关联的Set中,并返回交集成员的数量
sunion
获取多个集合之间的并集
sunionstore
将3个集合中成员的并集存储到uniontest关联的set中,并返回并集成员的数量
__EOF__
本文作者:持之以恒(韧)
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!