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

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

128次阅读
没有评论

共计 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字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 中国午夜伦理片伦理片 | 免费观看的美女视频网站 | 国产免费又黄又爽又色毛 | 成人福利视频网站 | 日日狠狠久久偷偷四色综合免费 | 福利视频秘密网址在线观看 | 亚洲综合图片小说 | 2019国内自拍 | 久久精品中文字幕不卡一二区 | 亚洲综合区 | 一道久在线无码加勒比 | 日韩精品国产精品 | 国产婷婷一区二区三区 | 午夜精品久久久久久久99老熟妇 | 大伊香蕉在线精品视频人碰人 | 无码人妻一区二区三区在线 | a一区二区三区视频 | 福利视频在线免费观看 | 中文字幕欧美日韩一 | 亚洲国产精品成人综合久久久 | 亚洲av乱码久久精品蜜桃 | 国产成人精品天堂 | 成人三级在线播放 | 丝袜美女网站 | 久久精品动漫网一区二区 | 久久五月丁香合缴情网 | 天天做天天爱夜夜爽 | 思思久久q6热在精品国产 | 成人在线观看午夜 | 精品无码一区二区三区在线 | www.91成人| 久久黄色小视频 | 日韩超碰人人爽人人做人人添 | 国产成人咱精品视频免费网站 | 精品国产自在现线久久 | 亚洲乱人伦中文字幕无码 | 粗一硬一长一进一爽一a级 粗壮挺进人妻水蜜桃成熟漫画 | 国产嘿嘿嘿视频在线观看 | 无码综合天天久久综合网 | 青青在线香蕉国产精品 | 久久久久久久性 |