当前位置: 首页 > article >正文

Mongodb数据管理

Mongodb数据管理

1.登录数据库,查看默认的库

[root@db51~]# mongo> show databases;
admin   0.000GB
config  0.000GB
local   0.000GB> use admin
switched to db admin
> show tables
system.version
> 
  • admin库:admin 是 MongoDB 的管理数据库,用于存储用户、角色和系统范围的配置。具有 admin 数据库权限的用户可以管理整个 MongoDB 实例
  • **config 库:**如果 MongoDB 部署为分片集群(sharded cluster),config 数据库会存储分片信息和路由元数据
  • **local 数据库:**存储的是与本地节点相关的数据,不会被复制到其他节点。例如存储复制集的元数据(如oplog.rs集合

2.1 命令分类

DB对象相关命令;

db.[TAB][TAB]
db.help()db.zhiyong.[TAB][TAB]
db.zhiyong.help()

RS复制集相关命令(replication set);

rs.[TAB][TAB]
rs.help()

SH分片集群相关命令(sharding cluster);

sh.[TAB][TAB]
sh.help()
> rs.help
function() {print("\trs.status()                                { replSetGetStatus : 1 } checks repl set status");
.......> db.getname
xiaoQ.getname

2.2 库的管理

> show databases;
admin   0.000GB
config  0.000GB
local   0.000GB# 相当于创建一个库
> use wzyboy;
switched to db wzyboy# 删除库
> db.dropDatabase();
{ "ok" : 1 }# 创建一个叫 a 表
> db.createCollection("a");
{ "ok" : 1 }
> show tables
a# 随意插入数据
switched to db wzy666
> db.test.insert({name:"zhangsan"})
WriteResult({ "nInserted" : 1 })
> db.stu.insert({id:101,name:"zhangsan",age:20,gender:"m"})
WriteResult({ "nInserted" : 1 })
> show tables;
stu# 查询指定数据
> db.log.find({uid:999})
{ "_id" : ObjectId("66b19bbddd8229605d070b7e"), "uid" : 999, "name" : "mongodb", "age" : 6, "date" : ISODate("2024-08-06T03:42:53.818Z") }# 设置显示50条信息
> DBQuery.shellBatchSize=50;
50> db.log.find()
...
# 显示出50条数据~

2.3 文档操作

# 数据录入到log表
> for(i=0;i<10000;i++){db.log.insert({"uid":i,"name":"mongodb","age":6,"date":new Date()})}
WriteResult({ "nInserted" : 1 })# 查询数据行数
> db.log.count()
10000# 全表信息查询
> db.log.find()
{ "_id" : ObjectId("6403169ac7c3cb20a4ebd465"), "uid" : 0, "name" : "mongodb", "age" : 6, "date" : ISODate("2021-06-04T09:59:54.234Z") }
{ "_id" : ObjectId("6403169ac7c3cb20a4ebd466"), "uid" : 1, "name" : "mongodb", "age" : 6, "date" : ISODate("2021-06-04T09:59:54.240Z") }
{ "_id" : ObjectId("6403169ac7c3cb20a4ebd467"), "uid" : 2, "name" : "mongodb", "age" : 6, "date" : ISODate("2021-06-04T09:59:54.241Z") }
-- 默认每页显示20行数据信息# 每页显示50条记录信息
> DBQuery.shellBatchSize=50;
50
> db.log.find()# 按照条件查询数据
> db.log.find({uid:999})
{ "_id" : ObjectId("6403169ac7c3cb20a4ebd84c"), "uid" : 999, "name" : "mongodb", "age" : 6, "date" : ISODate("2021-06-04T09:59:54.548Z") }# 以标准的json格式输出内容
> db.log.find({uid:999}).pretty()
{"_id" : ObjectId("6403169ac7c3cb20a4ebd84c"),"uid" : 999,"name" : "mongodb","age" : 6,"date" : ISODate("2021-06-04T09:59:54.548Z")
}# 删除集合中所有记录,表示清空集合中的所有文档内容
> db.log.remove({})
WriteResult({ "nRemoved" : 10000 })
> db.log.find()# 或者表示将文档内容和集合信息全部删除
> db.log.drop()
true
> show tables# 查看集合存储信息
> for(i=0;i<10000;i++){db.log.insert({"uid":i,"name":"mongodb","age":6,"date":new Date()})}
WriteResult({ "nInserted" : 1 })> db.log.totalSize()
40960# 或者集合中索引+数据库压缩存储之后的大小
> db.log.stats()

2.4 用户管理

用户管理概述

验证库(authenticationDatabase):建立用户时use到的库,就是验证库,在使用用户时,要加上验证库才能登录,主要限制远程

对于管理员用户,必须在admin下创建:

  • 建立用户时,use到的库,就是此用户的验证库
  • 登录时,必须明确指定验证库才能登录
  • 通常,管理员用的验证库是admin,普通用户的验证库一般是所管理的库设置为验证库
  • 如果直接登录到数据库,不进行use,默认的验证库是test,不是企业生产建议的
  • 从3.6版本开始,不添加bindIp参数,默认不让远程登录,只能本地管理员登录(远程登录需要配置bindIp参数)

创建超级管理员

1.管理所有数据库(必须use admin再去创建)

> use admin
switched to db admin> db.createUser(
{"user": "root","pwd": "root123","roles": [{"role": "root","db": "admin"}]
}
)# 输出内容:
Successfully added user: {"user" : "root","roles" : [{"role" : "root","db" : "admin"}]
}# 验证用户是否创建成功
> db.auth('root','root123')# 查看指定用户
db.getUser("root")# 修改用户的密码,以root为例
// 切换到 admin 数据库
use admin
// 修改 root 用户的密码
db.changeUserPassword("root", "this_is_new_password")# 查看一个库的所有用户
use admin
db.getUsers()[{"_id" : "admin.app02","userId" : UUID("b9945460-b130-4958-8f9d-e7383a412e5d"),"user" : "app02","db" : "admin","roles" : [{"role" : "readWrite","db" : "wzyboy"}],"mechanisms" : ["SCRAM-SHA-1","SCRAM-SHA-256"]},{"_id" : "admin.root","userId" : UUID("7d31739d-3535-4b76-99d2-e2b3def9d069"),"user" : "root","db" : "admin","roles" : [{"role" : "root","db" : "admin"}],"mechanisms" : ["SCRAM-SHA-1","SCRAM-SHA-256"]}
]

2.配置文件中,加入以下验证功能配置,然后重启数据库,就可以实现mongodb身份验证功能

cat >> /mongodb/conf/mongodb.yaml <<EOF
security:authorization: enabled
EOF

3.进行用户登录验证,本地登录不需要加验证库信息

# 本地登录用户验证
[root@db51~]# mongo -uroot -proot123 admin> use admin
switched to db admin
> show databases;
admin   0.000GB
config  0.000GB
local   0.000GB
wzy     0.000GB> use admin
switched to db admin
> db.auth('root','root123')
1

4.远程登录用户验证,远程登录必须加验证库信息

# 登录时就直接验证
[root@db51~]# mongo -uroot -proot123 10.0.0.51:27017/admin
> show databases;
admin   0.000GB
config  0.000GB
local   0.000GB
wzy     0.000GB[root@db51~]# mongo 10.0.0.51:27017/admin
# 没有验证通过时不能看到数据库的
> show databases;
> use admin
switched to db admin
> db.auth('root','root123')
1
> show databases;
admin   0.000GB
config  0.000GB
local   0.000GB
wzy     0.000GB

5.使用navicat工具进行连接

在这里插入图片描述

创建普通用户

1.创建一个普通用户app01,并授予对 wzyboy 库的管理权限

> use wzyboy
switched to db wzyboy
> db.createUser(
{user: "app01",pwd: "app01",roles: [ { role: "readWrite", db: "wzyboy" } ]
}
)# 输出结果:应用程序用户创建成功
Successfully added user: {"user" : "app01","roles" : [{"role" : "readWrite","db" : "wzyboy"}]
}# 应用程序用户是否创建成功
> db.auth('app01','app01')
1# 插入表测试
> db.student.insert({name:"zhangsan"})
WriteResult({ "nInserted" : 1 })# 验证数据写入成功
> DBQuery.shellBatchSize=2;
> db.student.find()
{ "_id" : ObjectId("6766509af1117827689ed0b2"), "name" : "zhangsan" }

2.进行用户登录验证

# 本地登录用户验证,本地登录应用程序用户登录也需要加验证库信息
[root@db51~]# mongo -uapp01 -papp01 wzyboy> use wzyboy> show tables;
log
stu
test# 远程登录用户验证
[mongod@master ~]$ mongo -uapp01 -papp01 192.168.30.101:27017/wzyboy
> use admin
switched to db admin
> db.auth('app01','app01')
Error: Authentication failed.
0
-- 访问非验证库会出现报错信息
> use wzyboy
switched to db wzyboy
>  db.auth('app01','app01')
1
-- 远程登录必须加验证库信息,访问对应验证库信息会顺利完成验证

用户删除

删除指定用户,必须进入到指定的验证库中,才能删除相应的用户信息

[root@db51~]# mongo -uroot -proot123 10.0.0.51:27017/admin
> use wzyboy
> db.createUser ({user:"app02",pwd:"app02",roles:[{role:"readWrite",db:"wzyboy"}]})> use wzyboy;
> db.dropUser("app02")
true

用户总结

创建用户要有验证库信息,管理员对应admin库,普通用户对应要管理的库

用户进行数据库服务远程登录时,要注意登录命令中有验证库信息

2.5 MongoDB的数据备份

2.5.1 数备备份/恢复工具介绍

序号备份工具命令恢复工具命令
逻辑备份-单表迁移 json csvmongoexportmongoimport
物理备份-全库操作 分库分表mongodumpmongorestore

两种类型的备份恢复工具应用场景区别:

类型一:(mongoexport/mongoimport)

  • 异构平台迁移,比如:mysql <—> mongodb
  • 相同平台迁移,比如:跨版本迁移 mongodb 2 —> mongodb 3

类型二:(mongodump/mongorestore)

  • 日常数据信息备份保存使用;
  • 日常数据信息恢复修复使用;

2.5.2 数据库导出

1 mongoexport

数据导出工具:mongoexport

获取帮助:mongoexport --help

参数解释说明
-h指明数据库宿主机的IP
-u指明数据库宿主机的用户名
-p指明数据库的密码
-d指定数据库的名称
-c指定数据集合名称
-f指明要导出哪些列
-o指明导出后的文件名
-q指明导出数据的过滤条件
–authenticationDatabase指明验证库信息

1.没有使用密码时的备份方式。

本次备份的是之前分片集群里的zhiyong库中的vast集合

mongoexport --port 38017 -d zhiyong -c vast -o /mongodb/vast.json

2.如果设置了认证,那么备份方式为:

mongoexport \
-uroot -proot123 --port 27017 \
--authenticationDatabase admin -d zhiyong -c vast \
-o /mongodb/vast.json

3.单表 vast 备份为csv格式

mongoexport \
--port 38017 -d zhiyong -c vast --type=csv \
-f id,name,age,date \
-o /mongodb/vast.csv

2 mongodump

1.全量备份数据(也可以-d 指定要备份的库)

mongodump \-h localhost:27017 \-o /tmp/mong_export \-u root \-p='123456789' \--authenticationDatabase=admin# 查看备份成功的数据
[root@db51 ~]# ll /tmp/mong_export/
drwxr-xr-x 2 root root 4096 Feb 12 17:20 admin
drwxr-xr-x 2 root root 4096 Feb 12 17:22 wzyboy

2.创建一个新的实例27018,执行数据恢复操作

mongorestore \-h localhost:27018 \/tmp/mong_export

3.登录27018实例,验证恢复的库wzyboy

mongo --host 127.0.0.1 --port 27018> show databases;
admin   0.000GB
config  0.000GB
local   0.000GB
wzyboy  0.000GB
> use wzyboy;
switched to db wzyboy
> show tables;
a
test

恢复选项

1.注:如果设置了密码可以这样进行数据恢复

mongorestore \-h localhost:27018 \-u root \-p='aa' \--authenticationDatabase=admin \/tmp/mong_export

2.如果只需要恢复某个数据库,可以指定数据库名称

mongorestore \-h localhost:27018 \--db wzyboy \/tmp/mong_export/wzyboy

3.如果只需要恢复某个集合,可以指定集合名称:

mongorestore \-h localhost:27018 \/tmp/mong_export/wzyboy \--collection your_collection_name \/tmp/mong_export/your_database_name/your_collection_name.bson

2.5.3 数据导入mongoimport

参数解释说明
-h指明数据库宿主机的IP
-u指明数据库宿主机的用户名
-p指明数据库的密码
-d指定数据库的名称
-c指定数据集合名称
-f指明要导入哪些列
-j指定并行导入的行数信息
–authenticationDatabase指明验证库信息

1 json恢复

1.带密码的备份:

如果导入的表已经存在,可以在导入命令中加入 drop参数,将源表删除在导入

mongoimport \
-uroot -proot123 --port 27017 \
--authenticationDatabase admin \
-d zhiyong -c vast1 /mongodb/log.json

2.还是以分片集群为例测试数据导入:

mongoimport --port 38017 \
-d zhiyong -c vast1 /mongodb/vast.json

3.验证导入成功

[root@db51~]# mongo --port 38017mongos> use zhiyong;mongos> show tables;
vast
vast1

2 csv恢复

如果要带入csv格式文件中的内容,需要通过–type参数指定导入格式

还是用之前导出的csv文件

ls /mongodb/vast.*
/mongodb/vast.csv  /mongodb/vast.json

1.csv格式的文件头行,headerline参数表示指定第一行是列名,不需要导入

mongoimport --port 38017 -d zhiyong -c vast2 --type=csv --headerline --file  /mongodb/vast.csv

2.验证导入成功

mongos> show tables;
vast
vast1
vast2

2.5.4 异构平台迁移案例

1.以mysql8.0.26导出json为例,需开启安全目录设置

cat >> /data/3306/my.cnf <<EOF
secure-file-priv=/tmp
EOF

2.开始把数据导出为/tmp/json

select * from world.city into outfile '/tmp/city.csv' fields terminated by ',';

3.处理备份后的csv文件,添加表头信息

vim /tmp/city.csv
ID,Name,CountryCode,District,Population

4.迁移数据导入到mongodb数据库

mongoimport --port 38017 -d world -c city --type=csv -f \
ID,Name,CountryCode,District,Population \
--file /tmp/city.csv

5.在navicat查看数据

在这里插入图片描述

6.MySQL导出数据为 csv

先创建表,接受要存储的数据

DROP TABLE IF EXISTS wzy1.test_info;CREATE TABLE wzy1.test_info (id INT,city_name VARCHAR(255),country_code VARCHAR(10),region VARCHAR(255),population INT
);

iv=/tmp
EOF


2.开始把数据导出为/tmp/json```sql
select * from world.city into outfile '/tmp/city.csv' fields terminated by ',';

3.处理备份后的csv文件,添加表头信息

vim /tmp/city.csv
ID,Name,CountryCode,District,Population

4.迁移数据导入到mongodb数据库

mongoimport --port 38017 -d world -c city --type=csv -f \
ID,Name,CountryCode,District,Population \
--file /tmp/city.csv

5.在navicat查看数据

[外链图片转存中…(img-axmKWEED-1739555316937)]

6.MySQL导出数据为 csv

先创建表,接受要存储的数据

DROP TABLE IF EXISTS wzy1.test_info;CREATE TABLE wzy1.test_info (id INT,city_name VARCHAR(255),country_code VARCHAR(10),region VARCHAR(255),population INT
);

相关文章:

Mongodb数据管理

Mongodb数据管理 1.登录数据库&#xff0c;查看默认的库 [rootdb51~]# mongo> show databases; admin 0.000GB config 0.000GB local 0.000GB> use admin switched to db admin > show tables system.version > admin库&#xff1a;admin 是 MongoDB 的管理…...

从短片到长片:王琦携《Mountain》续作迈向新高度

在王琦(Qi Wang)的带领下,广受关注的短片《Mountain》迎来了成长篇续作《Rite of the Mountain》。这一全新长片不仅是她从短片迈向长篇叙事的重要一步,更是一次大胆的艺术挑战。作为制片人的她,将继续以敏锐的视觉风格和深刻的叙事洞察,拓展《Mountain》所触及的情感深度,并构…...

DeepSeek应用——与PyCharm的配套使用

目录 一、配置方法 二、使用方法 三、注意事项 1、插件市场无continue插件 2、无结果返回&#xff0c;且在本地模型报错 记录自己学习应用DeepSeek的过程&#xff0c;使用的是自己电脑本地部署的私有化蒸馏模型...... &#xff08;举一反三&#xff0c;这个不单单是可以用…...

c#中“事件-event”的经典示例与理解

在C#编程语言中&#xff0c;事件&#xff08;Event&#xff09;是一个非常重要的概念&#xff0c;它提供了一种松耦合的方式&#xff0c;让对象间能够通知彼此&#xff0c;而无需直接联系。事件的使用可以让我们的代码更加灵活、可扩展且易于维护。 事件可以视作委托的实例&…...

如何画产品功能图、结构图

功能图的类型 常见的功能图包括数据流图、用例图、活动图、状态图、类图、组件图、部署图等等&#xff0c;不同的应用场景和目标下&#xff0c;需要确定不同的功能图类型。 数据流图 用例图 状态图 类图 组件图 组件图是由软件系统、组件和组件之间的关系组成的图形&#xf…...

标准输入输出流,面向对象,构造函数

标准输入输出流 为什么不直接用printf和scanf? 不能输入/输出C新增的内容 std C的一些标识符&#xff0c;都是定义在std这个名字空间下面cout 是什么&#xff1f; 1.是一个ostream对象 output stream:输出流使用 <<&#xff1a;输出流运算符 作用&#xff1a;将右边…...

Vue2 中使用 UniApp 时,生命周期钩子函数总结

在 Vue2 中使用 UniApp 时&#xff0c;生命周期钩子函数是一个重要的概念。它允许开发者在特定的时间点运行代码&#xff0c;管理组件的生命周期。以下是 Vue2 中 UniApp 常用的生命周期钩子函数总结&#xff1a; 1. beforeCreate 说明: 组件实例刚被创建&#xff0c;此时数据…...

QEMU源码全解析 —— 内存虚拟化(12)

接前一篇文章:QEMU源码全解析 —— 内存虚拟化(11) 本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM》源码解析与应用 —— 李强,机械工业出版社 QEMU内存管理模型...

如何将ubuntu下的一个目录,保存目录结构为一个git仓库并上传

目录 1. 初始化本地Git仓库 2. 添加文件到仓库 3. 提交更改 4. 创建并关联远程仓库 5. 推送代码到远程仓库 完整流程总结 要将Ubuntu下的一个目录&#xff08;例如rpc&#xff09;保存为一个Git仓库并上传到远程仓库&#xff0c;您可以遵循以下步骤&#xff1a; 1. 初始…...

深度学习中通道数的理解

目录 一、通道&#xff08;Channels&#xff09;的作用 1. 表示输入数据的多样性 2. 提取多层次特征 3. 信息融合与交互 4. 控制模型的复杂度 5. 支持多任务学习 6. 实际应用中的通道设计 7. 总结 二、案例一 1. 输入图像的通道&#xff08;RGB&#xff09; 2. 输出特…...

2025寒假天梯赛训练5

L1-3 敲笨钟 - 2025寒假天梯赛训练5 思路&#xff1a;一般ex的模拟题&#xff0c;主要是找好空格的位置进行修改替换。 #include <bits/stdc.h> using namespace std; #define int long long #define endl "\n" #define sz(x) (int)x.size() #define e empla…...

PowerBI 矩阵 列标题分组显示(两行列标题)

先看效果 数据表如下&#xff1a; 我们在powerbi里新建一个矩阵&#xff0c;然后如图加入字段&#xff1a; 我们就会得到这样的矩阵&#xff1a; 我们在“可视化”->“列”&#xff0c;上双击&#xff0c;输入空格&#xff0c;就能消除左上角的"类别"两字 同理修…...

服务器部署DeepSeek,通过Ollama+open-webui部署

1. 安装ollama 1.1. linux 安装 Ollama是目前常用的AI模式部署的第三方工具&#xff0c;能一键部署deepSeek Ollama官方网址https://ollama.com/ 选择Download下载对应的服务版本 服务器选择Linux&#xff0c;下面是下载代码 curl -fsSL https://ollama.com/install.…...

PVE 磁盘管理详解:从 Windows 到 Linux 的思维转换(文末附资源)

Proxmox VE&#xff08;PVE&#xff09;是一款基于 Debian Linux 的虚拟化平台&#xff0c;其文件系统管理与 Windows 差异较大&#xff0c;尤其是磁盘和文件夹的设计逻辑。本文将以通俗易懂的方式&#xff0c;详解 PVE 中磁盘管理的核心操作&#xff0c;并对比 Windows 帮助大…...

Ubuntu 连接 air pods

&#xff11;&#xff0e; sudo vim /etc/bluetooth/main.conf , 修改蓝牙模式为blder &#xff12;&#xff0e;sudo /etc/init.d/bluetooth restart, 重启蓝牙&#xff0c;即可连接成功...

【LeetCode Hot100 矩阵】矩阵置零、螺旋矩阵、旋转图像、搜索二维矩阵II

矩阵 1. 矩阵置零&#xff08;Set Matrix Zeroes&#xff09;解题思路步骤&#xff1a; 代码实现 2. 螺旋矩阵&#xff08;Spiral Matrix&#xff09;解题思路具体步骤&#xff1a; 代码实现 3. 旋转矩阵 90 度解决思路代码实现 5. 搜索二维矩阵中的目标值解决思路代码实现 1. …...

民用无人驾驶航空器操控员考试

1. 注册 民用无人驾驶航空器综合管理平台 (caac.gov.cn) 2. 选择 操控员资质 3. 安全操控理论培训 -> 在线视频培训 学习完后选择 【在线考试】 共 50道 单项 选择题&#xff0c;每选项3个&#xff0c;80分及格。 4. 查看 我的合格证 证书有效期2年...

TCP可靠传输的ARQ协议

基本知识 ARQ&#xff08;Automatic Repeat-reQuest&#xff09;协议主要包含&#xff1a;停等ARQ协议、连续ARQ协议&#xff0c;其中连续ARQ协议是为了解决停等ARQ协议信道利用率低的问题&#xff0c;目前传统的连续ARQ协议有回退N帧ARQ协议、选择性重传ARQ协议。 注意&#…...

秋招春招投递记录——2024

公司链接待办截止日期已完成状态携程集团&#xff08;上海&#xff09;https://campus.ctrip.com/campus-recruitment/简历挂微众银行&#xff08;武汉&#xff09;https://campus.webank.com/campus-recruitment/webankhr/测评腾讯云智&#xff08;重庆&#xff09;https://jo…...

前端与后端的对接事宜、注意事项

前端与后端的对接事宜、注意事项 一、对接核心流程(完整生命周期) #mermaid-svg-6yzij6OD8DKqiMLD {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-6yzij6OD8DKqiMLD .error-icon{fill:#552222;}#mermaid-svg-6yzi…...

002 第一个python程序

编程语言 编程语言可以做的事情&#xff1a; 网站开发、软件 、游戏、APP、 小程序、 爬虫、 数据分析、脚本 第一个python程序 找到IDE图标pycharm 新建项目 选择项目路径 创建目录 新建python文件 输入代码 运行程序查看结果 print 介绍 print : 输出内容…...

频率自适应扩张卷积(FADC)详解及代码复现

背景介绍 在介绍频率自适应扩张卷积(FADC)之前,我们需要了解卷积神经网络(CNN)在处理复杂图像任务时面临的挑战。CNN的成功主要依赖于其多层结构和卷积层的设计,这些设计可以有效地捕捉图像的局部特征。然而,随着网络层数的增加,感受野的大小也随之增加,这可能导致一…...

解锁机器学习核心算法 | 决策树:机器学习中高效分类的利器

引言 前面几篇文章我们学习了机器学习的核心算法线性回归和逻辑回归。这篇文章我们继续学习机器学习的经典算法——决策树&#xff08;Decision Tree&#xff09; 一、决策树算法简介 决策树算法是一种典型的分类方法&#xff0c;也是一种逼近离散函数值的方法。它的核心思想…...

数据结构——顺序表与链表

目录 前言 一线性表 二顺序表 1实现 2相关面试题 2.1移除元素 2.2删除有序数组中的重复项 3.3合并两个有序数组 3问题 三链表 1链表的分类 1.1单向或者双向 1.2带头或者不带头 1.3循环或者非循环 2实现 2.1尾插与头插 2.2尾删与头删 2.3pos前插入节点与删除…...

在 Python 中使用 Ollama API

文章目录 一、环境准备二、使用方法1.简单对话2.流式响应3.结构化输出4.自定义客户端4.1 同步客户端4.2 异步客户端4.3 同步 & 异步客户端不同调用次数耗时对比测试 三、常用的ollama API 接口聊天生成本地模型列表显示模型信息创建模型复制模型删除模型拉取模型推送模型生…...

BGP配置华为——RR反射器配置

实验拓扑 与之前实验同理将loop0作为routerID使用&#xff0c;且R1和R2上用loop1接口用于模拟用户其他网段 实验要求 1&#xff0c;在AS100内运行OSPF协议 2.配置路由反射器&#xff0c;使得从R1进入的数据能够反射到全局网络 3.在R1和R2上分别宣告自己的loop1口网段用于观…...

一.AI大模型开发-初识机器学习

机器学习基本概念 前言 本文主要介绍了深度学习基础&#xff0c;包括机器学习、深度学习的概念&#xff0c;机器学习的两种典型任务分类任务和回归任务&#xff0c;机器学习中的基础名词解释以及模型训练的基本流程等。 一.认识机器学习 1.人工智能和机器学习 人工智能&am…...

力扣做题记录 (二叉树)

二叉树 打算先来了解二叉树基础&#xff0c;都是简单题&#xff0c;目的是熟悉代码格式和解题基础思路。 1、二叉树最大深度 二叉树最大深度 方法一、深度搜索 直接用原函数做递归&#xff0c;比较简单 /*** Definition for a binary tree node.* struct TreeNode {* …...

国内情智机器人:从“通情达理”到温暖陪伴的跨越

近年来,随着人工智能技术的飞速发展,情智机器人(具备情感智能的机器人)逐渐成为国内研究和应用的热点领域。从情感计算的基础研究到人形机器人的实际应用,国内在这一领域取得了显著进展,展现出巨大的发展潜力。情智机器人不仅能够理解人类的情感,还能以温暖的方式提供陪…...

Unity中如何判断URL是否为RTSP或RTMP流

技术背景 如何在Unity中判断一个字符串URL是否是RTSP或RTMP流。首先&#xff0c;RTSP通常以“rtsp://”开头&#xff0c;而RTMP则是“rtmp://”或者有时是“rtmps://”用于安全连接。 接下来&#xff0c;如何在C#中进行字符串的检查。最简单的方法应该是检查URL是否以这些协议…...