Redis 7.x 系列【10】数据类型之有序集合(ZSet)
有道无术,术尚可求,有术无道,止于术。
本系列Redis 版本 7.2.5
源码地址:https://gitee.com/pearl-organization/study-redis-demo
文章目录
- 1. 概述
- 2. 常用命令
- 2.1 ZADD
- 2.2 ZCARD
- 2.3 ZSCORE
- 2.4 ZRANGE
- 2.5 ZREVRANGE
- 2.6 ZRANK
- 2.7 ZREM
- 2.8 ZPOPMIN
- 2.9 ZPOPMAX
- 2.10 ZINCRBY
- 2.11 集合运算
- 3. 应用场景
1. 概述
ZSet
是一种有序集合类型,可以存储不重复的元素,并且给每个元素赋予一个 double
类型的排序权重值(score
)。
2. 常用命令
ZSet
相关所有命令:
命名 | 描述 |
---|---|
BZMPOP | 按照指定的排序方式推出多个队列中指定数量的元素 |
BZPОPMAX | ZPOPMAX 的阻塞版本,作用相同,只是在目标集合中没有元素时会阻塞,timeout 参数指定了过期时间 (0 表示永不超时) |
BZPOPMIN | 与 ZPOPMAX 一样,只是返回 score 最小的 |
ZADD | 向有序集合添加一个或多个成员,或者更新已存在成员的分数 |
ZCARD | 获取有序集合的成员数 |
ZCOUNT | 计算在有序集合中指定区间分数的成员数 |
ZDIFF | 返回集合之间的差集 |
ZDIFFSTORE | 返回集合之间的差集,并将结果存储在另一个新的有序集合中 |
ZINCRBY | 有序集合中对指定成员的分数加上增量 increment |
ZINTER | 用于计算多个有序集合的交集 |
ZINTERCARD | 用于计算多个有序集合的交集,并返回成员个数 |
ZINTERSTORE | 计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中 |
ZLEXCOUNT | 计算有序集合中指定区间内成员的数量 |
ZMPOP | 弹出一个或多个成员 |
ZMSCORE | 从有序集合中获取多个成员的分数(score ) |
ZPOPMAX | 用于删除并返回集合中分数(score )最高的一个或多个元素。如果集合为空,则命令不执行任何操作 |
ZPOPMIN | 用于删除并返回集合中分数(score )最低的一个或多个元素。如果集合为空,则命令不执行任何操作 |
ZRANDMEMBER | 随机获取一个或多个元素 |
ZRANGE | 获取指定范围内的成员 |
ZRANGEBYLEX | 根据成员名称的字典顺序来返回有序集合中指定区间的成员。注意是基于成员名称的字典顺序,而不是分数(score )的大小 |
ZRANGEBYSCORE | 返回有序集中指定分数区间内的成员,分数从高到低排序 |
ZRANGESTORE | 绍 返回集合中指定排名范围内的成员,并将结果存储到指定key 中 |
ZRANK | 返回有序集合中指定成员的索引 |
ZREM | 移除有序集合中的一个或多个成员 |
ZREMRANGEBYLEX | 移除有序集合中给定的字典区间的所有成员 |
ZREMRANGEBYRANK | 移除有序集合中给定的排名区间的所有成员 |
ZREMRANGEBYSCORE | 移除有序集合中给定的分数区间的所有成员 |
ZREVRANGE | 返回有序集中指定区间内的成员,通过索引,分数从高到底 |
ZREVRANGEBYLEX | 根据字典范围返回成员,返回的成员顺序是反向的,即从高到低的字典顺序 |
ZREVRANGEBYSCORE | 返回指定分数范围内的成员,并按照分数从高到低进行排序 |
ZREVRANK | 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序 |
ZSCAN | 迭代有序集合中的元素(包括元素成员和元素分值) |
ZSCORE | 返回有序集中,成员的分数值 |
ZUNION | 计算一个或多个有序集的并集 |
ZUNIONSTORE | 计算一个或多个有序集的并集,并存储在新的 key 中 |
2.1 ZADD
ZADD
命令用于将一个或多个元素及其 score
值加入到有序集 key
中。
注意事项:
- 如果某个
member
已经是有序集的成员,那么更新这个member
的score
值,并通过重新插入这个member
元素,来保证该member
在正确的位置上。 - 如果有序集合
key
不存在,则创建一个空的有序集并执行ZADD
操作。 - 当
key
存在但不是有序集类型时,返回一个错误。 score
值可以是整数值或双精度浮点数,score
可为正也可以为负。- 获取一个成员当前的分数可以使用
ZSCORE
命令,也可以用它来验证成员是否存在。
基本语法:
ZADD key [NX|XX] [CH] [INCR] score member [score member …]
添加单个元素:
redis> ZADD page_rank 10 google.com
(integer) 1
添加多个元素:
redis> ZADD page_rank 9 baidu.com 8 redis.com.cn
(integer) 2redis> ZRANGE page_rank 0 -1 WITHSCORES
1) "redis.com.cn"
2) "8"
3) "baidu.com"
4) "9"
5) "google.com"
6) "10"
添加已存在元素,且 score
值不变:
redis> ZADD page_rank 10 google.com
(integer) 0redis> ZRANGE page_rank 0 -1 WITHSCORES # 没有改变
1) "redis.com.cn"
2) "8"
3) "baidu.com"
4) "9"
5) "google.com"
6) "10"
添加已存在元素,但是改变 score
值:
redis> ZADD page_rank 6 redis.com.cn
(integer) 0redis> ZRANGE page_rank 0 -1 WITHSCORES # redis.com.cn 元素的 score 值被改变
1) "redis.com.cn"
2) "6"
3) "baidu.com"
4) "9"
5) "google.com"
6) "10"
ZADD
命令支持参数,参数位于 key
名字和第一个 score
参数之间(GT
、LT
和 NX
三者互斥不能同时使用):
XX
: 仅更新存在的成员,不添加新成员。NX
:不更新存在的成员,只添加新成员。LT
: 更新新的分值比当前分值小的成员,不存在则新增。GT
: 更新新的分值比当前分值大的成员,不存在则新增。CH
:返回变更成员的数量。变更的成员是指新增成员 和score
值更新的成员,命令指明的和之前score
值相同的成员不计在内。 在通常情况下,`ZADD 返回值只计算新添加成员的数量。INCR
:ZADD
使用该参数与ZINCRBY
功能一样。一次只能操作一个score-element
对。
Redis
有序集合的分数使用双精度 64
位浮点数表示。在 Redis
所支持的平台上,称为 IEEE 754 floating point number
,它能包括的整数范围是-(2^53)
到 +(2^53)
。或者说是-9007199254740992
到 9007199254740992
。更大的整数在内部用指数形式表示,所以,如果为分数设置一个非常大的整数,你得到的是一个近似的十进制数。
有序集合按照分数以递增的方式进行排序。相同的成员(member
)只存在一次,有序集合不允许存在重复的成员。 分数可以通过 ZADD
命令进行更新或者也可以通过 ZINCRBY
命令递增来修改之前的值,相应的他们的排序位置也会随着分数变化而改变。
有序集合里面的成员是不能重复的都是唯一的,但是,不同成员间有可能有相同的分数。当多个成员有相同的分数时,他们将是按字典排序(ordered lexicographically
)(仍由分数作为第一排序条件,然后,相同分数的成员按照字典序排序)。
字典顺序排序用的是二进制,它比较的是字符串的字节数组。如果用户将所有元素设置相同分数(例如 0
),有序集合里面的所有元素将按照字典顺序进行排序,范围查询元素可以使用 ZRANGEBYLEX
命令(注:范围查询分数可以使用ZRANGEBYSCORE
命令)。
2.2 ZCARD
ZCARD
命令用于返回有序集的成员个数,当 key
不存在时,返回 0 。
基本语法:
ZCARD key
示例:
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZCARD myzset
(integer) 2
2.3 ZSCORE
ZSCORE
命令用于返回有序集 key
.中成员 member
的分数,返回值为字符串格式的双精度浮点数。如果有不存在的 member
,或者 key
不存在,返回 nil
。
基本语法:
ZSCORE key member
示例:
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZSCORE myzset "one"
"1"
2.4 ZRANGE
ZRANGE
命令返回有序集中指定区间内的成员,其中成员的按分数值递增(从小到大)来排序,具有相同分数值的成员按字典序排列。
注意事项:
- 如果你需要成员按值递减来排列,请使用
ZREVRANGE
命令。 - 下标参数
start
和stop
都以0
为底,也就是说,以0
表示有序集第一个成员,以1
表示有序集第二个成员,以此类推。 - 也可以使用负数下标,以
-1
表示最后一个成员,-2
表示倒数第二个成员,以此类推。 start
和stop
都是包含在内的区间,因此例如ZRANGE myzset 0 1
将会返回有序集合的第一个和第二个元素。- 超出范围的索引不会产生错误。 如果
start
参数的值大于有序集合中的最大索引,或者start > stop
,将会返回一个空列表。 如果stop
的值大于有序集合的末尾,会将其视为有序集合的最后一个元素。 - 可以传递
WITHSCORES
选项,以便将元素的分数与元素一起返回。这样返回的列表将包含value1,score1,...,valueN,scoreN
,而不是value1,...,valueN
。 客户端类库可以自由地返回更合适的数据类型(建议:具有值和得分的数组或元组)。
基本语法:
ZRANGE key start stop [WITHSCORES]
简单示例:
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZRANGE myzset 0 -1
1) "one"
2) "two"
3) "three"
redis> ZRANGE myzset 2 3
1) "three"
redis> ZRANGE myzset -2 -1
1) "two"
2) "three"
WITHSCORES
示例:
redis> ZRANGE myzset 0 1 WITHSCORES
1) "one"
2) "1"
3) "two"
4) "2"
2.5 ZREVRANGE
ZREVRANGE
命令返回有序集中,指定区间内的成员。其中成员的位置按 score
值递减(从高到低)来排列。除了成员排序相反外,其他方面和 ZRANGE
命令一样。
基本语法:
ZREVRANGE key start stop [WITHSCORES]
示例:
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZREVRANGE myzset 0 -1
1) "three"
2) "two"
3) "one"
redis> ZREVRANGE myzset 2 3
1) "one"
redis> ZREVRANGE myzset -2 -1
1) "two"
2) "one"
2.6 ZRANK
ZRANK
命令返回有序集中成员的排名,其中有序集成员按 score
值从低到高排列。排名从 0
开始,也就是说,分值最低的成员排名为 0
。
基本语法:
ZRANK key member
示例:
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZRANK myzset "three"
(integer) 2
redis> ZRANK myzset "four"
(nil)
2.7 ZREM
ZREM
命令用于从有序集合中删除指定的成员,如果 member
不存在则被忽略。当 key
存在,但是不是有序集合类型时,返回类型错误。
基本语法:
ZREM key member [member ...]
示例:
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZREM myzset "two"
(integer) 1
redis> ZRANGE myzset 0 -1 WITHSCORES
1) "one"
2) "1"
3) "three"
4) "3"
2.8 ZPOPMIN
ZPOPMIN
删除并返回最多 count
个有序集合 key
中最低得分的成员。返回值为删除的元素和分数列表。
注意事项:
- 如未指定,
count
的默认值为1
。 - 指定一个大于有序集合的候选总数的
count
不会产生错误。 - 当返回多个元素时候,得分最低的元素将是第一个元素,然后是分数较高的元素。
基本语法:
ZPOPMIN key [count]
示例:
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZPOPMIN myzset
1) "one"
2) "1"
2.9 ZPOPMAX
ZPOPMAX
删除并返回最多 count
个有序集合 key
中的最高得分的成员。返回值为删除的元素和分数列表。
注意事项:
- 如未指定,
count
的默认值为1
。 - 指定一个大于有序集合的候选总数的
count
不会产生错误。 - 当返回多个元素时候,得分最高的元素将是第一个元素,然后是分数较低的元素。
基本语法:
ZPOPMAX key [count]
示例:
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZADD myzset 3 "three"
(integer) 1
redis> ZPOPMAX myzset
1) "three"
2) "3"
2.10 ZINCRBY
ZINCRBY
为有序集 key
的成员 member
的 score
值加上增量 increment
。返回值为以字符串形式表示的成员的新 score
值(双精度浮点数)。
注意事项:
- 当
key
不存在,或member
不是key
的成员时,ZINCRBY key increment member
等同于ZADD key increment member
。 - 当
key
不是有序集类型时,返回"ERR WRONGTYPE Operation against a key holding the wrong kind of value"
。 score
值可以是字符串形式表示的整数值或双精度浮点数。- 可以通过传递一个负数值
increment
,让score
减去相应的值,比如ZINCRBY key -2 member
,就是让member
的score
值减去2
。
基本语法:
ZINCRBY key increment member
示例:
redis> ZADD myzset 1 "one"
(integer) 1
redis> ZADD myzset 2 "two"
(integer) 1
redis> ZINCRBY myzset 2 "one"
"3"
redis> ZRANGE myzset 0 -1 WITHSCORES
1) "two"
2) "2"
3) "one"
4) "3"
2.11 集合运算
和 Set
一样,也支持集合运算:
- 交:
ZINTER
ZINTERCARD
ZINTERSTORE
- 并:
ZUNION
ZUNIONSTORE
- 差:
ZDIFF
ZDIFFSTORE
3. 应用场景
ZSet
在 Set
的基础上增加了分值排序,常用于排行榜场景,比如热搜、成绩排名等。
例如,添加搜索消息,并初始化访问值为 1
:
localhost:0>ZADD msg_rank 1 msg_1
"1"
localhost:0>ZADD msg_rank 1 msg_2
"1"
localhost:0>ZADD msg_rank 1 msg_3
"1"
用户点击消息时,增加访问次数:
"1"
localhost:0>ZINCRBY msg_rank 1 msg_2
"1"
localhost:0>ZINCRBY msg_rank 1 msg_3
"2"
localhost:0>ZINCRBY msg_rank 1 msg_3
"3"
显示热搜前十排行榜:
localhost:0>ZREVRANGE msg_rank 0 9 WITHSCORES1) "msg_3"2) "3"3) "msg_2"4) "1"5) "msg_1"6) "1"
相关文章:

Redis 7.x 系列【10】数据类型之有序集合(ZSet)
有道无术,术尚可求,有术无道,止于术。 本系列Redis 版本 7.2.5 源码地址:https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 概述2. 常用命令2.1 ZADD2.2 ZCARD2.3 ZSCORE2.4 ZRANGE2.5 ZREVRANGE2.6 ZRANK2.7…...

操作系统-文件的物理结构(文件分配方式)
文章目录 总览文件块和磁盘块连续分配顺序访问直接访问(随机访问)为什么连续分配同时支持这两种访问模式? 链接分配隐式链接显示链接小结索引分配链接方案多层索引混合索引小结 总结 总览 文件数据存放在外存中 文件块和磁盘块 文件内通过逻…...
Spring Boot集成jsoup实现html解析
1.什么是jsoup jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据,可操作 HTML 元素、属性、文本。 JSo…...
[240629] 阿里云揭秘其数据中心设计和自研网络,用于大语言模型训练 | Jina AI 发布最新的神经网络重排序模型
目录 阿里云揭秘其数据中心设计和自研网络,用于大语言模型训练Jina AI 发布最新的神经网络重排序模型 阿里云揭秘其数据中心设计和自研网络,用于大语言模型训练 阿里云近日公布了其专为大型语言模型 (LLM) 训练流量而设计的基于以太网的网络设计&#x…...

【Docker0】网络更改
目录 1. 停止docker服务 2. 关闭docker默认桥接网络接口 3. 从系统删除docker0接口 4. 创建一个名为bridge0的新接口 5. 添加ip地址和子网掩码 6. 启用bridge0接口 7. (如果没起来就执行该句) 8. 查看ip 1. 停止docker服务 sudo service docker…...

IDEA中导入Maven项目
IDEA中导入Maven项目 方式1:使用Maven面板,快速导入项目 打开IDEA,选择右侧Maven面板,点击 号,选中对应项目的pom.xml文件,双击即可 说明:如果没有Maven面板,选择 View > Appe…...
px、em、rem、rpx 作用和用法详解
px px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。 PX特点 IE无法调整那些使用px作为单位的字体大小; 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位; Firefox能够调整px和emÿ…...
Linux 常用命令 - dd 【复制及转换文件内容】
简介 dd 命令源自于磁盘复制(disk dump)的缩写,是 Linux 和 Unix 系统中用于转换和复制文件的一个强大工具。它可以在复制过程中进行格式转换,支持不同的块大小,能够直接对硬盘设备进行操作,非常适合进行备…...

全网唯一免费无水印AI视频工具!
最近Morph Studio开始免费公测!支持高清画质,可以上传语音,同步口型,最重要的是生成的视频没有水印! Morph Studio国内就可以访问,可以使用国内邮箱注册(我用的163邮箱),…...

kafka(四)消息类型
一、同步消息 1、生产者 同步发送的意思就是,一条消息发送之后,会阻塞当前线程,直至返回 ack。 由于 send 方法返回的是一个 Future 对象,根据 Futrue 对象的特点,我们也可以实现同 步发送的效果,只需在调…...

Emacs之显示blame插件:blamer、git-messenger(一百四十四)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…...

【10分钟速通webpack,全流程打包,编译,发包,全干货,附代码 】
需求 后端有个nodejs 基础库,用typescript编写,需要发包到代码仓库上,被其它业务引入。这其中就涉及了: 编译, 打包,发包。 工作流速览 前提依赖 webpack主体 npm install --save-dev webpack webpack…...
设计模式深入解析与实例应用
目录 工厂模式1.简单工厂模式2.工厂方法模式3.抽象工厂模式 策略模式责任链模式概述模板方法模式概述单例模式概述 工厂模式 工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳实践,旨在将对象的创建过程与使用过程分离,以提高代码的…...

服务器数据恢复—异常断电导致RAID6阵列中磁盘出现坏扇区的数据恢复案例
服务器存储数据恢复环境: 一台存储中有一组由12块SAS硬盘组建的RAID6磁盘阵列,划分为一个卷,分配给几台Vmware ESXI主机做共享存储。该卷中存放了大量Windows虚拟机,这些虚拟机系统盘是统一大小,数据盘大小不确定&…...

前端工程化08-新的包管理工具pnpm
1、历史原因解读 pnpm这个东西发布的时间是比较早的,但是在最近一两年的时候才开始流行,甚至是可以说非常的盛行,那么这个包到底是个什么东西的,那么我们先说下,原来的包管理工具到底有那些问题?比如说我们…...

章十九、JavaVUE —— 框架、指令、声明周期、Vue-cli、组件路由、Element
目录 一、 框架 ● vue.js 框架 ● 特点 ● Vue 安装 二、 第一个vue程序 ● 创建项目 编辑 ● 导入 vue.js ● 创建vue对象,设置属性,使用模版渲染到页面 介绍 — Vue.js (vuejs.org) 三、 vue指令 ● v-text ● v-html ● v-…...

正则表达式阅读理解
这段正则表达式可以匹配什么呢? 超级复杂的一段正则表达式。 ((max|min)\\s*\\([^\\)]*(,[^\\)]*)*\\)|[a-zA-Z][a-zA-Z0-9]*(_[a-zA-Z][a-zA-Z0-9]*)?(\\*||%)?|[0-9](\\.[0-9])?|\\([^\\)]*(,[^\\)]*)*\\))(\\s*[-*/%]\\s*([a-zA-Z][a-zA-Z0-9]*(_[a-zA-Z][…...
Apache Calcite Linq4j学习
Lin4j简介 Linq4j是Apache Calcite项目中的一个模块,它提供了类似于LINQ(Language-Integrated Query)的功能,用于在Java中进行数据查询和操作。Linq4j可以将逻辑查询转换为物理查询,支持对集合进行筛选、映射、分组等…...

FPGA SATA高速存储设计
今天来讲一篇如何在fpga上实现sata ip,然后利用sata ip实现读写sata 盘的目的,如果需要再速度和容量上增加,那么仅仅需要增加sata ip个数就能够实现增加sata盘,如果仅仅实现data的读写整体来说sata ip设计比较简单,下面…...
MySQL----为什么选择使用MySQL
在我们日常做项目的过程中,不论是个人还是企业,大多数会选择使用MySQL数据库作为后端数据库存储,它到底有什么优势,能够做到如此广为流传呢? 优点 稳定性:MySQL具有良好的稳定性和可靠性,能够保…...

Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...

苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...

Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

群晖NAS如何在虚拟机创建飞牛NAS
套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

MySQL的pymysql操作
本章是MySQL的最后一章,MySQL到此完结,下一站Hadoop!!! 这章很简单,完整代码在最后,详细讲解之前python课程里面也有,感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...