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中的用户就是实际用户数
相关推荐
辞忧九千七2 小时前
Redis 单机一主二从主从复制完整搭建指南
数据库·redis·缓存
Chasing__Dreams3 小时前
Redis--基础知识点--32--redis底层存储结构
数据库·redis·缓存
野生技术架构师4 小时前
我有个大胆的想法,用 PostgreSQL 代替 Redis
数据库·redis·postgresql
cfm_29144 小时前
Redis ZSet 有序集合详解
数据库·redis·缓存
小李云雾9 小时前
Redis 从入门到实战:核心知识点与架构搭建全解析
数据库·redis·架构
我叫张小白。9 小时前
Redis常用数据结构与命令详解
数据结构·数据库·redis
Mr. zhihao12 小时前
Redis 脑裂深度解析:Sentinel 与 Cluster 机制、流程及对比
数据库·redis·sentinel
better_liang13 小时前
每日Java面试场景题知识点之-分布式秒杀系统的设计
java·redis·分布式·消息队列·高并发·秒杀系统·限流降级
cfm_291414 小时前
了解Redis
数据库·redis·缓存