Redis--Set类型
目录
一、引言
二、介绍
三、命令
1.sadd,smembers,sismember
2.spop,srandmember
3.smove,srem
4.sinter,sinterstore
5.sunion,sunionstore,sdiff,sdiffstore
四、内部编码
1.intset
2.hashtable
五、应用场景
1.使用Set保存用户的标签
2.Set方便计算交集
3.使用Set统计UV
六、总结
一、引言
本篇文章将简单介绍redis中value的类型set类型以及其相关命令和使用场景。
二、介绍
其他的set:设置(和get相对应)。
redis中的set就是集合,集合中的元素是无序的。和list类似,集合中的每个元素也都是String类型,但是使用json这样的格式可以存储结构化的数据。
三、命令
1.sadd,smembers,sismember
sadd:添加元素 时间复杂度:O(1)
smembers:查看当前集合中的所有元素
sismember:判定当前的元素是否在集合中
2.spop,srandmember
spop:从末尾删除一个元素
srandmember:随机获取一个元素,但是不进行删除
3.smove,srem
smove:移动一个集合中的元素到另外一个集合中
srem:删除member
4.sinter,sinterstore
sinter:交集,最终结果同时出现在两个集合中 时间复杂度:O(N*M)
sinterstore:把交集存入到另外一个集合中
5.sunion,sunionstore,sdiff,sdiffstore
sunion:并集,把多个集合中的数据都集合在一起,如果元素有重复,只保留一份
sunionstore:将并集的结果存入到另外一个集合中
sdiff:差集:找出某些元素在A中存在,在B中不存在
sdiffstore:放入到新的集合中
四、内部编码
1.intset
整数集合:当元素都是整数的时候,且元素个数不是特别多的时候,内部编码就是整数集合,为了节省空间。
2.hashtable
哈希表:存在字符串或者元素个数比较多的时候就转换为哈希表。
五、应用场景
1.使用Set保存用户的标签
2.Set方便计算交集
容易找到两个用户之间的公共标签,增强了用户关系。
3.使用Set统计UV
1.PV page view 用户每次访问该浏览器,就会产生一次PV。
2.UV user view 每个用户访问服务器就会产生一次UV,同一个用户多次访问不会使UV增加。
六、总结
本篇文章简单介绍了redis中value的类型set类型以及其相关命令和使用场景。下一篇我们将讲解zset类型的相关命令以及内部编码等,感谢观看!