4、Redis-Set【常用】

目录

一、Redis-Set特点

二、常用命令与交并差

三、Redis中Set类型应用场景


一、Redis-Set特点

1、无序:添加的是A,B,C;取出的可能是B,A,C

2、唯一:不允许元素重复


二、常用命令与交并差

|-------------------------|-------------------------|--------------------|
| 格式 | 含义 | 例子 |
| sadd key members[...] | 往key集合中添加一系列元素members | sadd mySet a b c d |
| smembers key | 遍历key集合中的所有元素 | smembers mySet |
| srem key members[...] | 删除key集合中的一系列元素members | srem mySet a c |
| spop key count | 从key集合中随机弹出count个元素 | spop mySet 1 |
[常用命令]

java 复制代码
127.0.0.1:6379> sadd mySet a b c d
(integer) 4
127.0.0.1:6379> smembers mySet // 无序:输出的顺序并不一定是输入的顺序
1) "d"
2) "b"
3) "a"
4) "c"
127.0.0.1:6379> srem mySet a c
(integer) 2
127.0.0.1:6379> smembers mySet
1) "d"
2) "b"
127.0.0.1:6379> spop mySet 1
1) "b"
127.0.0.1:6379> smembers mySet
1) "d"
127.0.0.1:6379> sadd mySet d
(integer) 0 // 不能添加相同的元素
127.0.0.1:6379> smembers mySet
1) "d"

|------------------|--------------------------------------|------------------|
| 格式 | 含义 | 例子 |
| sdiff key1 key2 | 返回key1中特有的元素【差集】 | sdiff set1 set2 |
| sinter key1 key2 | 返回key1和key2共有的元素【交集】 | sinter set1 set2 |
| sunion key1 key2 | 返回key1中的所有元素和key2中的所以元素(不重复)【并集】 | sunion set1 set2 |
[交并差]

java 复制代码
127.0.0.1:6379> sadd set1 a b c d
(integer) 4
127.0.0.1:6379> sadd set2 c d e f
(integer) 4
127.0.0.1:6379> sdiff set1 set2
1) "a"
2) "b"
127.0.0.1:6379> sinter set1 set2
1) "d"
2) "c"
127.0.0.1:6379> sunion set1 set2
1) "d"
2) "c"
3) "f"
4) "e"
5) "b"
6) "a"

三、Redis中Set类型应用场景

1、去重

2、抽奖 spop

3、共同好友 sinter

相关推荐
RestCloud20 小时前
SQL Server到Hive:批处理ETL性能提升30%的实战经验
数据库·api
RestCloud20 小时前
为什么说零代码 ETL 是未来趋势?
数据库·api
ClouGence1 天前
CloudCanal + Paimon + SelectDB 从 0 到 1 构建实时湖仓
数据库
DemonAvenger1 天前
NoSQL与MySQL混合架构设计:从入门到实战的最佳实践
数据库·mysql·性能优化
AAA修煤气灶刘哥2 天前
别让Redis「歪脖子」!一次搞定数据倾斜与请求倾斜的捉妖记
redis·分布式·后端
AAA修煤气灶刘哥2 天前
后端人速藏!数据库PD建模避坑指南
数据库·后端·mysql
RestCloud2 天前
揭秘 CDC 技术:让数据库同步快人一步
数据库·api
得物技术2 天前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql
christine-rr2 天前
linux常用命令(4)——压缩命令
linux·服务器·redis
可涵不会debug2 天前
【IoTDB】时序数据库选型指南:工业大数据场景下的技术突围
数据库·时序数据库