redis --- Set类型使用

news/2024/12/2 15:45:11/

目录

一、Set类型使用

1.1、SADD key member [member.....] 

1.2、SMEMBERS key 

1.3、SISMEMBER key member 

1.4、SREM key member [member] 

1.5、scard 

1.6、srandmember key [数字] 

1.7、spop key [数字] 

1.8、smove  key1 key2 

1.9、集合运算 

1.9.1、集合的差集运算A-B

 1.9.2、集合的并集运算A∪B

 1.9.2、集合的交集运算A∩B


一、Set类型使用

1.1、SADD key member [member.....] 

添加元素

127.0.0.1:6379> sadd  set1 1 1 2 2 3 3 4
(integer) 4
 

1.2、SMEMBERS key 

遍历集合中的所有元素

127.0.0.1:6379> smembers  set1
1) "1"
2) "2"
3) "3"
4) "4"

1.3、SISMEMBER key member 

判断元素是否在集合中 

127.0.0.1:6379> sismember set1 1
(integer) 1
127.0.0.1:6379> sismember set1 5
(integer) 0
 

1.4、SREM key member [member] 

删除元素 

127.0.0.1:6379> srem set1 1
(integer) 1
127.0.0.1:6379> srem set1 5
(integer) 0
 

1.5、scard 

获取集合里面的元素个数 

127.0.0.1:6379> smembers  set1
1) "2"
2) "3"
3) "4"
127.0.0.1:6379> scard set1
(integer) 3
 

1.6、srandmember key [数字] 

从集合中随机展现设置的数字个数元素,元素不删除 

127.0.0.1:6379> srandmember set1 2
1) "1"
2) "5"
127.0.0.1:6379> smembers  set1
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
6) "6"
 

1.7、spop key [数字] 

从集合中随机弹出一个元素,出一个删一个

127.0.0.1:6379> spop set1 1
1) "2"
127.0.0.1:6379> spop set1 2
1) "1"
2) "4"
127.0.0.1:6379> smembers  set1
1) "3"
2) "5"
3) "6"
 

1.8、smove  key1 key2 

将key1里已存在的某个值赋给key2 

 127.0.0.1:6379> smembers  set1
1) "3"
2) "5"
3) "6"
127.0.0.1:6379> smembers  set2
1) "7"
2) "8"
3) "9"
127.0.0.1:6379> smove set1 set2 3
(integer) 1
127.0.0.1:6379> smembers  set2
1) "3"
2) "7"
3) "8"
4) "9"

1.9、集合运算 

1.9.1、集合的差集运算A-B

 sdiff key [key...]

127.0.0.1:6379> smembers set1
1) "c"
2) "1"
3) "b"
4) "a"
5) "2"
127.0.0.1:6379> smembers set2
1) "3"
2) "2"
3) "1"
4) "a"
5) "z"
127.0.0.1:6379> sdiff set1 set2
1) "c"
2) "b"
 

 1.9.2、集合的并集运算A∪B

sunion key [key...]

127.0.0.1:6379> sunion set1 set2
1) "z"
2) "c"
3) "3"
4) "b"
5) "a"
6) "1"
7) "2"
 

 1.9.2、集合的交集运算A∩B

 sinter key [key...]

127.0.0.1:6379> sinter set1 set2
1) "1"
2) "a"
3) "2"
 

sintercard numkeys  key [key...] [limit limit]

redis7新命令,它不返回结果集,而只返回结果的基数。返回由所有给定集合的交集产生的集合的基数。 

127.0.0.1:6379> sintercard 2 set1 set2
(integer) 3
127.0.0.1:6379> sintercard 2 set1 set2 limit 1
(integer) 1
127.0.0.1:6379> sintercard 2 set1 set2 limit 2
(integer) 2
127.0.0.1:6379> sintercard 2 set1 set2 limit 4
(integer) 3
 

 


http://www.ppmy.cn/news/38921.html

相关文章

蓝桥杯基础12:BASIC-3试题 字母图形

资源限制 内存限制:256.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 利用字母可以组成一些美丽的图形,下面给出了一个例子: ABCDEFG BABCDEF CBABCDE DCBABCD EDC…

大数据-学习实践-5企业级解决方案

大数据-学习实践-5企业级解决方案 (大数据系列) 文章目录大数据-学习实践-5企业级解决方案1知识点2具体内容2.1小文件问题2.1.1 SequenceFile2.1.2 MapFile2.1.3 小文件存储计算2.2数据倾斜2.3 YARN2.3.1 YARN架构2.3.2 YARN调度器2.3.2 YARN多资源队列配置和使用2.4Hadoop官方…

机器学习的数学基础(上)

[]{#_Toc405731550 .anchor} 目录 机器学习的数学基础 1 高等数学 1 线性代数 9 概率论和数理统计 19 机器学习的数学基础 {#机器学习的数学基础 .58} 高等数学 1.导数定义: 导数和微分的概念 f′(x0)lim⁡Δx→0f(x0Δx)−f(x0)Δxf(x_{0}) \lim_{\Delta…

静态方法和实例方法

java静态方法和实例方法有何不同 在Java中,方法分为静态方法和实例方法。静态方法是类级别的,而实例方法是对象级别的。下面列出了它们之间的一些不同点: 静态方法的关键字是static。静态方法可以通过类名直接调用 静态方法 静态方法属于…

【CSS系列】第一章 · CSS基础

写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正&#xff0…

怎么看待ChatGPT封号这件事呢?

最近的ChatGPT大量封号,刷爆了全网,我的两个个人账号被封禁了,不知道大家最近有没有遇到相关的报错信息,要么就是检查你当前的浏览器配置,最后来一个access denied,要么直接就给你来一个当前的国家不支持。…

自然数的拆分问题 字典序

目录 自然数的拆分问题 字典序 程序设计 程序分析 自然数的拆分问题 字典序 对于大于1的自然数N,可以拆分成若干个大于等于1的自然数之和。 Input 一个大于1的自然数N Output 所有的拆分情况.按字典序排列。 Sample Input

【4.1】Socket编程、TCP挥手

TCP连接断开 四次挥手 四次挥手过程 客户端发送FIN报文,客户端进入FIN_WAIT_1状态。 服务端接收报文,发送ACK报文,服务端进入CLOSE_WAIT状态。 客户端收到ACK报文,进入FIN_WAIT_2状态。 服务端处理完数据后,也发送…