Redis : set集合

set集合

集合就是把一些有关联的数据放到一起

集合内的元素不能重复

集合内的元素没有顺序

普通命令

sadd

将一个或者多个元素添加到集合中

注:这些元素是无序并且不重复的

如果是重复的元素则会返回空

smembers

获得set中的所有元素

sismember

判断一个元素是否在集合中

如果存在,则会返回1,否则返回0

srandmember

随机获取一个或者多个元素

scard

获得集合中元素的个数

spop

随机删除集合中的一个元素,count表示删除的个数

可以判断出两次删除的元素是不一样的,判断其是无序删除

smove

将元素从一个集合中取出放入另一个集合

srem

将指定的元素从集合中删除

可以一次性删除多个指定的元素

集合间的操作

进行这三种操作:交集,并集,差集

sinter

获得两个集合的交集

sinterstore

获得集合之间的交集,并保存到集合中

将交集保存到m3中

sunion

获得给定集合的并集

sunionstore

获得给定集合的并集,并且保存到集合中

sdiff

获得给定集合的差集

m1和m2的差集:在m1中存在,在m2中不存在

m2和m1的差集:在m2中存在,在m1中不存在

所以得到的结果是不一样的

sdiffstore

获得集合间的差集,并且保存到集合中

内部编码

intset整数集合

为了节省空间,特定优化的结构,当元素是整数的时候,并且元素的数量还不是特别多,使用的是intset

hashtable哈希表

使用场景

1.使用set保存用户的标签

比如说:用户画像,根据用户的性格特征和喜好特点分析其喜好,然后投其所好

2.使用set确定用户的共同好友

QQ会推送一个共同的好友,让你来甄选添加

3使用set去统计UV

一个互联网产品,如何衡量用户量,其主要的指标就是PV和UV

PV:用户每次访问该服务器,每次访问都会产生一个PV

UV:每个用户访问该服务器都会产生一个UV,但是同一个用户多次进行访问,不会使UV增加,UV需要按照用户去进行去重,这样的去重过程,就是UV来进行实现的。

希望能对大家有所帮助!!!

相关推荐
清风6666662 小时前
基于单片机的水塔液位检测与智能调节报警系统设计
数据库·单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
gplitems1232 小时前
Technox – IT Solutions & Services WordPress Theme: A Practical
linux·服务器·数据库
不剪发的Tony老师3 小时前
MySQL 9.5创新版发布,有哪些新功能?
数据库·mysql
布朗克1683 小时前
MySQL 及 SQL 注入详细说明
数据库·sql·mysql·1024程序员节
武子康4 小时前
Java-154 深入浅出 MongoDB 用Java访问 MongoDB 数据库 从环境搭建到CRUD完整示例
java·数据库·分布式·sql·mongodb·性能优化·nosql
Austindatabases5 小时前
DBA 从“修电脑的” 到 上演一套 “数据治理” 大戏 --- 维护DBA生存空间,体现个体价值
数据库·dba
LB21125 小时前
Redis黑马点评 day01
数据库·redis·缓存
白小筠5 小时前
创建Django项目
数据库·django·sqlite
扑克中的黑桃A6 小时前
金仓多模数据库平替MongoDB的电子证照国产化实践——从2TB数据迁移到1600+并发支撑
数据库
计算机毕业设计小帅6 小时前
【2026计算机毕业设计】基于Django的社区婴幼儿预防接种系统
数据库·django·课程设计