Redis——集合类型相关命令

集合中的元素是无序的,集合中的元素是不能重复的,我们把集合中的元素叫做memeber。

在集合添加元素

复制代码
SADD key member1 member2 ...

向 Set 集合中添加一个或多个元素
集合不存在则自动创建
重复元素会自动去重,只保留一份
返回值:成功添加的新元素个数

查看集合所有元素

复制代码
SMEMBERS key

返回集合中所有的元素
集合无序,输出顺序不固定
key 不存在返回空集合

集合中的元素个数

sql 复制代码
scard key1

判断集合中的某元素是否存在

复制代码
SISMEMBER key member

存在返回1,不存在返回0

随机删除集合中的一个元素

复制代码
SPOP key [count] //随机删除集合中的某个或者某几个元素,count表示删除数量,不写就是删除一个。返回被删除的元素

删除指定的元素

sql 复制代码
srem key value1 value2... ...//删除集合中指定的某几个元素

随机从集合获取一个元素

sql 复制代码
SRANDMEMBER key [count] //随机筛选出count个元素(不写的话就是随机筛选一个),返回被选中的元素

把集合元素移动到另一个集合

sql 复制代码
SMOVE key1 key2 value //把集合1中的value移动到集合2,其中集合1的value会被删除

如果集合2已经有value,那么不会重复添加,但是集合1中的value会被删除

如果集合1没有value就报错

交集、并集、差集

sql 复制代码
sinter key1 key2... ... //求若干个集合的交集

sinterstore deskey key1 key2 ... ...//求出若干集合的交集后把交集插入到deskey所指向的集合

sunion key1 key2... ... //求若干个集合的并集

sunionstore deskey key1 key2 ... ...//求出若干集合的并集后把并集插入到deskey所指向的集合

sdiff key1 key2... ... //求若干个集合的差集

sdiffstore deskey key1 key2 ... ...//求出若干集合的差集后把差集插入到deskey所指向的集合

集合应用场景

  • **用户标签,比如使用推荐算法给用户制造信息茧房就需要收集每个用户的一些特征,也就是标签。**用户标签和视频标签求交集就能给用户推荐视频。
  • 使用set统计UV(user view)。利用set给用户去重,这样set中的用户就是实际用户数
相关推荐
lv__pf1 小时前
redis【msb 2026金三银四redis上】
数据库·redis·缓存
spter。4 小时前
一次 Redis SETNX 的小插曲,我重新理解了原子性
前端·redis·bootstrap
霸道流氓气质8 小时前
Redis Pub/Sub — 概念、原理、场景与代码示例
数据库·redis·缓存
夕除10 小时前
redis--002
数据库·redis·缓存
SamChan9011 小时前
FastAPI+Celery+Redis搭建企业级PDF翻译异步任务系统
redis·后端·python·pdf·wpf·fastapi
Chasing__Dreams13 小时前
Redis--基础知识点--33--String Hash List Set ZSet
redis·list·哈希算法
xixiaoyunya13 小时前
Redis 缓存三大经典问题深度解析:穿透、击穿、雪崩的原理与实战解决方案
spring boot·redis·缓存
2602_9599609214 小时前
大厂Java面试:Spring Boot、JVM、Redis、Kafka与Elasticsearch在内容社区UGC场景下的实战拷问
java·jvm·spring boot·redis·面试题
杨运交1 天前
[060][调度模块]Redisson vs Redis 原生锁:两种分布式锁实现深度对比
数据库·redis·分布式
何以解忧,唯有..1 天前
深入理解与应对:Redis 缓存雪崩、击穿、穿透三大经典问题
redis·缓存·mybatis