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

相关推荐
这孩子叫逆10 分钟前
6. 什么是MySQL的事务?如何在Java中使用Connection接口管理事务?
数据库·mysql
Karoku06614 分钟前
【网站架构部署与优化】web服务与http协议
linux·运维·服务器·数据库·http·架构
码农郁郁久居人下40 分钟前
Redis的配置与优化
数据库·redis·缓存
MuseLss2 小时前
Mycat搭建分库分表
数据库·mycat
Hsu_kk2 小时前
Redis 主从复制配置教程
数据库·redis·缓存
DieSnowK2 小时前
[Redis][环境配置]详细讲解
数据库·redis·分布式·缓存·环境配置·新手向·详细讲解
程序猿小D2 小时前
第二百三十五节 JPA教程 - JPA Lob列示例
java·数据库·windows·oracle·jdk·jpa
Flerken1012 小时前
数据库语言、SQL语言、数据库系统提供的两种语言
数据库·sql·oracle
掘根2 小时前
【网络】高级IO——poll版本TCP服务器
网络·数据库·sql·网络协议·tcp/ip·mysql·网络安全
消失在人海中2 小时前
oracle 表的外键
数据库·oracle