在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

数据库集合相关命令有哪些

111次阅读
没有评论

共计 2333 个字符,预计需要花费 6 分钟才能阅读完成。

本篇内容介绍了“数据库集合相关命令有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

集合的性质: 唯一性, 无序性, 确定性
无序性,例:{1,2}=={2,1}
唯一性,每一个值都是唯一的

例:插入“python”,“golang”,“python ,“c”, java 5 个值,但实际上,Redis 返回的数字 4,表示实际上只插入了 4 个值。这是因为有两个“python”,集合自动过滤了第 2 个 python”。

注: 在 string 和 link 的命令中, 可以通过 range 来访问 string 中的某几个字符或某几个元素
但, 因为集合的无序性, 无法通过下标或范围来访问部分元素.

因此想看元素, 要么随机先一个, 要么全选

sadd key  value1 value2

作用: 往集合 key 中增加元素

sadd 命令在遇到数据己经存在时,会返回“0”,如果数据不存在则把数据插入再返回 1。所以,这条命令可以通过返回的数字来判断数据是否存在。

srem value1 value2

作用: 删除集合中集为 value1 value2 的元素
返回值: 忽略不存在的元素后, 真正删除掉的元素的个数

spop key

作用: 返回并删除集合中 key 中 1 个随机元素
随机 – 体现了无序性

(spop 会弹出 / 删除 key 中的元素,可以用这个来抽奖,第一名抽出来,第二名,第三名 …)

srandmember key

作用: 返回集合 key 中, 随机的 1 个元素.

(和 spop 不同,不会弹出 / 删除 key 中的元素)

sismember key  value

作用: 判断 value 是否在 key 集合中
是返回 1, 否返回 0

smembers key

作用: 返回集中中所有的元素
注意:
smembers 命令不会删除数据。但是如果集合里的数据量极大,就应该慎重使用“获取所有数据,因为这样会导致系统的 I / o 资源瞬间耗尽

scard key

作用: 返回集合中元素的个数

smove source dest value

作用: 把 source 中的 value 删除, 并添加到 dest 集合中

sinter  key1 key2 key3

作用: 求出 key1 key2 key3 三个集合中的交集, 并返回
redis 127.0.0.1:6379 sadd s1 0 2 4 6
(integer) 4
redis 127.0.0.1:6379 sadd s2 1 2 3 4
(integer) 4
redis 127.0.0.1:6379 sadd s3 4 8 9 12
(integer) 4
redis 127.0.0.1:6379 sinter s1 s2 s3
1) 4
redis 127.0.0.1:6379 sinter s3 s1 s2
1) 4

sinterstore dest key1 key2 key3

作用: 求出 key1 key2 key3 三个集合中的交集, 并赋给 dest

suion key1 key2.. Keyn

作用: 求出 key1 key2 keyn 的并集, 并返回

sdiff key1 key2 key3

作用: 求出 key1 与 key2 key3 的差集
即 key1-key2-key3

集合的应用:
在工程中,Redis 的集合一般有两种用途:
(I)根据集合内数据不重复的特性实现去重并记录信息。
(2)利用多个集合计算交集、并集和差集。
假设,要做一个学生选课情况实时监控系统,则需要实时知道以下几个数据:
(I)当前一共有多少学生至少选了一门课。
(2)选了 A 课没有选 B 课的学生有多少。
(3)既选了 A 课又选了 B 课的学生有多少。
(4) A、B 两门课至少选了一门的学生有多少。
使用集合可以轻易实现这样的功能。每一门课作为一个集合,里面的值就是每一个学生的
学号,如图 5 -65 所示:
数据库集合相关命令有哪些
用 python 实现:

import redis
client = redis.Redis(host= xx.xx.xx.xx’)
all_class = [algorithm’,’computer’,’history’,’circuit_design’,’math]
def all_student():
students = client.sunion(*all_class)
return len(students)
def in_a_and_in_b(class_a,class_b):
students = client.sinter(class_a,class_b)
return len(students)
def in_a_not_in_b(class_a,class_b):
students = client.sdiff(class a , class b)
return len(students)
def in_a_or_in_b(class_a,class_b):
students= client.sunion(classa,classb)
return len(students)
def in_a_or_in_b(class_a,class_b):
students = client.sunion(class_a,class_b)
return len(students)
// 选了至少一门课:all_student()
// 选了 math 没选 computer 的:in_a_not_in_b(math , computer)
// 选了 math 也选了 computer 的学生:in_a_and_in_b(math , computer)
// 选了 math 或选了 computer 的学生:in_a_or_in_b(math , computer)

“数据库集合相关命令有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-24发表,共计2333字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 福利小视频在线播放 | 国产精品第九页 | 99久久99久久精品 | 国产黄视频在线观看 | 久久99久久精品免费思思6 | 国内久久久久久久久久 | 久久婷婷色综合一区二区 | 九九久久精品 | 久久青青草原热精品 | 澳门永久av免费网站 | 粗大猛烈进出高潮视频免费看 | 亚洲三级小说 | 国产精品人人妻人人爽 | 国产免费青青青免费视频观看 | 亚洲av成人午夜电影在线观看 | 中文字幕人成乱码熟女app | 狠狠色婷婷久久综合频道日韩 | 高清视频一区二区三区 | 欧美三级午夜理伦三级 | 影音男人 | 无码一区二区三区亚洲人妻 | 天堂网www在线资源网 | 国产亚洲精品精华液 | 国产国拍亚洲精品av | 免费一级毛片在线观看 | 最新亚洲一区二区三区四区 | 国产毛片哪里有 | 狠狠噜天天噜日日噜视频麻豆 | 99热久久免费精品首页 | 亚洲黄色一级 | 被群cao的合不拢腿h纯肉视频 | 亚洲日本中文字幕在线 | 成年网站在线 | 成人黄色免费网站 | 久久国产精品一区二区 | 天天摸夜夜添狠狠添2018 | 九九免费精品视频 | 中文字幕在线亚洲日韩6页 中文字幕在线一区 | 日韩在线一区二区三区视频 | 免费观看啪啪黄的网站 | 久久精品成人 |