MongoDB(三十九)

目录

一、概述

(一)相关概念

(二)特性

二、应用场景

三、安装

(一)编译安装

(二)yum安装

1、首先制作repo源

2、软件包名:mongodb-org

3、启动服务:systemctl start mongod

4、监听端口:mongod

5、端口号:27017

四、目录结构

(一)rpm -ql mongodb-org-server

1、MongoDB的配置文件

2、MongoDB的运行目录

3、MongoDB的可执行文件

4、MongoDB的系统服务文件

5、MongoDB的文档目录

6、MongoDB的许可协议文件

7、MongoDB的许可协议文件

8、MongoDB的README文件

9、MongoDB的第三方许可通知文件

10、MongoDB的man手册文件

11、MongoDB的数据目录,存储数据库文件

12、MongoDB的日志目录,存储日志文件

13、MongoDB的日志文件,记录MongoDB的运行日志

(二)rpm -ql mongodb-org-shell

1、MongoDB客户端工具的可执行文件路径(客户端命令)

2、MongoDB客户端工具的man手册文件路径 

(三)rpm -ql mongodb-org-tools

1、将BSON文件转换为JSON格式的工具

2、用于安装MongoDB Compass的工具

3、用于从MongoDB数据库中导出数据的工具

4、用于将数据从MongoDB导出为JSON、CSV或TSV格式的工具

5、用于在MongoDB GridFS中存储和检索文件的工具

6、用于将数据导入MongoDB数据库的工具

7、用于从mongodump创建的备份文件中恢复数据的工具

8、用于监视MongoDB服务器状态的工具

9、用于监视MongoDB实例中的操作的工具

10、包含MongoDB工具集的文档

11、包含MongoDB工具集的第三方软件许可证通知

12、bsondump工具的man页

13、mongodump工具的man页

14、mongoexport工具的man页

15、mongofiles工具的man页

16、mongoimport工具的man页

17、mongoldap工具的man页

18、mongoreplay工具的man页

19、mongorestore工具的man页

20、mongostat工具的man页

21、mongotop工具的man页

(四)rpm -ql mongodb-org-mongos

1、存放系统范围的可执行文件

2、mongos的手册页文件

五、默认数据库

1、admin

2、local

3、config

六、数据库操作

(一)库操作

1、查看数据库

2、显示当前所在数据库

3、切换数据库

4、数据库创建

4.1、隐式创建

4.2、删除数据库

(二)文档操作

1、创建集合

2、查看集合

3、删除

3.1、删除数据库

3.2、删除集合

4、插入数据(文档)

4.1、单行

4.2、多行

5、查询数据

5.1全集合查询

5.2、条件查询

5.3、查询集合中有多少文档

6、删除数据

6.1、全文删除

6.2、条件删除

7、更新数据

7.1、所有满足条件的文档都进行更新

7.2、更新文档进行数值递增

七、MongoDB数据库备份

(一)备份命令

1、mongodump

2、mongoexport

 (二)恢复命令

1、mongorestore

2、mongoimport


一、概述

       mongodb是一个nosql数据库,它有高性能、无模式、文档型的特点。是nosql数据库中功能最丰富,最像关系数据库的。数据库格式为BSON

(一)相关概念

    实例:系统上运行的mongodb的进程,类似于mysql实例;

    库:每个数据库都是独立的,有自己的用户,权限,独立存储集合,类似于mysql的库;

     集合:由一组文档构成,类似于mysql的表;

     文档:mongodb数据库的最小数据集,是由多个键值对有序组合的数据单元,类似于mysql的数据记录;

    主键:唯一标识一行数据

(二)特性

            1、面向集合文档存储,适合存储json形式的数据;

            2、格式自由,数据格式不固定,数据结构发生变更的同时不会影响程序运行;

            3、面向对象的sql查询语句,基本涵盖关系型数据库的所有查询语句;

            4、有索引的支持,查询效率更快;

            5、支持复制和自动故障转移;

            6、可以使用分片集群提升查询性能

面向对象:

       在MongoDB中,数据以文档(documents)的形式存储,文档是一种类似于JSON格式的数据结构,它可以包含键值对、数组和嵌套文档。文档是MongoDB中的基本数据单元,类似于关系型数据库中的行(row)。

MongoDB的面向对象概念具有以下特点:

       文档模型:MongoDB使用文档模型来表示数据,文档可以嵌套和包含各种类型的数据,这使得MongoDB非常适合存储半结构化数据。

       动态模式:相比关系型数据库,MongoDB的文档模型是动态的,即同一集合中的不同文档可以具有不同的结构。这样可以更容易地适应数据模式的变化和灵活性要求。

继承和多态:MongoDB支持文档之间的继承关系,一个文档可以从另一个文档继承属性。同时,MongoDB还支持多态,即一个字段可以包含不同类型的值。

       引用关联:MongoDB支持使用引用关联文档,即一个文档中可以包含对其他文档的引用。这种引用关联可以用来建立文档之间的关系和查询数据。

       MongoDB的面向对象概念使得它更适合存储和处理半结构化数据,同时提供了灵活性和扩展性,方便开发者处理不同类型的数据和建立数据之间的关联。

索引概念:

       MongoDB索引是MongoDB中用于提高查询性能的数据结构。它类似于关系数据库中的索引,可以按照特定字段或字段组合进行排序和搜索。

       MongoDB索引通常使用B树数据结构实现。它可将数据存储在内存中,以加快查询速度。当查询需要访问大量数据时,索引可以帮助减少磁盘IO操作,提高查询性能。

       索引可以在单个字段上创建,也可以在多个字段上创建组合索引。创建索引后,MongoDB将使用这些索引来加速查询过程。索引可以按升序或降序排序,还可以设置唯一性约束,确保索引字段的唯一性。

       索引的创建和使用需要权衡考虑。创建过多的索引会增加存储空间和写入操作的开销,同时也会增加更新数据的复杂性。此外,索引的选择要基于实际查询模式和性能需求进行评估。

       总结来说,MongoDB索引是用于提高查询性能的数据结构,它可以按照特定字段或字段组合进行排序和搜索,并使用B树数据结构进行实现。索引的创建和使用需要考虑存储空间、写入操作开销和查询需求等因素。

二、应用场景

       大数据存储和分析:由于MongoDB的灵活性和可扩展性,它非常适合用于存储和分析大规模数据集。它可以处理海量的数据,并支持数据聚合、数据分析和实时查询。

       实时分析和日志处理:MongoDB可以快速地存储和索引生成的数据,使其适用于实时分析和日志处理。它可以轻松处理大量实时数据,并提供快速的查询和聚合功能。

       内容管理和博客平台:MongoDB的文档模型非常适合存储和管理文本和多媒体内容。它支持动态模式,可以轻松地适应不同类型和格式的内容。

       社交网络和实时应用:MongoDB对于实时应用和高并发的场景具有很好的性能。它可以处理大量的读写操作,并提供可扩展性和高可用性。

       互联网应用程序:MongoDB适合用于构建Web应用程序,如电子商务平台、内容管理系统和在线游戏。它可以处理复杂的数据模型和高并发的访问请求。

       总结来说,MongoDB适用于处理大规模数据、实时分析、内容管理、社交网络和互联网应用程序等各种场景。它提供高性能、可扩展性和灵活性,使开发人员能够构建出功能强大的应用程序。

三、安装

(一)编译安装

(二)yum安装

1、首先制作repo源

vim /etc/yum.repos.d/mongodb.repo

[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

2、软件包名:mongodb-org

3、启动服务:systemctl start mongod

4、监听端口:mongod

5、端口号:27017

四、目录结构

(一)rpm -ql mongodb-org-server

1、MongoDB的配置文件

vim /etc/mongod.conf
port: 27017监听端口号
bindIp: 127.0.0.1监听地址

2、MongoDB的运行目录

/run/mongodb

3、MongoDB的可执行文件

/usr/bin/mongod

4、MongoDB的系统服务文件

/usr/lib/systemd/system/mongod.service

5、MongoDB的文档目录

/usr/share/doc/mongodb-org-server-4.2.24

6、MongoDB的许可协议文件

/usr/share/doc/mongodb-org-server-4.2.24/LICENSE-Community.txt

7、MongoDB的许可协议文件

/usr/share/doc/mongodb-org-server-4.2.24/MPL-2

8、MongoDB的README文件

/usr/share/doc/mongodb-org-server-4.2.24/README

9、MongoDB的第三方许可通知文件

/usr/share/doc/mongodb-org-server-4.2.24/THIRD-PARTY-NOTICES

10、MongoDB的man手册文件

/usr/share/man/man1/mongod.1.gz

11、MongoDB的数据目录,存储数据库文件

/var/lib/mongo

12、MongoDB的日志目录,存储日志文件

/var/log/mongodb

13、MongoDB的日志文件,记录MongoDB的运行日志

/var/log/mongodb/mongod.log

(二)rpm -ql mongodb-org-shell

1、MongoDB客户端工具的可执行文件路径(客户端命令)

/usr/bin/mongo

2、MongoDB客户端工具的man手册文件路径 

/usr/share/man/man1/mongo.1.gz

 

(三)rpm -ql mongodb-org-tools

1、将BSON文件转换为JSON格式的工具

/usr/bin/bsondump

2、用于安装MongoDB Compass的工具

/usr/bin/install_compass

3、用于从MongoDB数据库中导出数据的工具

/usr/bin/mongodump

4、用于将数据从MongoDB导出为JSON、CSV或TSV格式的工具

/usr/bin/mongoexport

5、用于在MongoDB GridFS中存储和检索文件的工具

/usr/bin/mongofiles

6、用于将数据导入MongoDB数据库的工具

/usr/bin/mongoimport

7、用于从mongodump创建的备份文件中恢复数据的工具

/usr/bin/mongorestore

8、用于监视MongoDB服务器状态的工具

/usr/bin/mongostat

9、用于监视MongoDB实例中的操作的工具

/usr/bin/mongotop

10、包含MongoDB工具集的文档

/usr/share/doc/mongodb-org-tools-4.2.24

11、包含MongoDB工具集的第三方软件许可证通知

/usr/share/doc/mongodb-org-tools-4.2.24/THIRD-PARTY-NOTICES.gotools

12、bsondump工具的man页

/usr/share/man/man1/bsondump.1.gz

13、mongodump工具的man页

/usr/share/man/man1/mongodump.1.gz

14、mongoexport工具的man页

/usr/share/man/man1/mongoexport.1.gz

15、mongofiles工具的man页

/usr/share/man/man1/mongofiles.1.gz

16、mongoimport工具的man页

/usr/share/man/man1/mongoimport.1.gz

17、mongoldap工具的man页

/usr/share/man/man1/mongoldap.1.gz

18、mongoreplay工具的man页

/usr/share/man/man1/mongoreplay.1.gz

19、mongorestore工具的man页

/usr/share/man/man1/mongorestore.1.gz

20、mongostat工具的man页

/usr/share/man/man1/mongostat.1.gz

21、mongotop工具的man页

/usr/share/man/man1/mongotop.1.gz

(四)rpm -ql mongodb-org-mongos

1、存放系统范围的可执行文件

/usr/bin/mongos

2、mongos的手册页文件

/usr/share/man/man1/mongos.1.gz

五、默认数据库

进入MongoDB数据库命令

mongo

1、admin

    从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。

一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。

2、local

    这个数据库永远不会被复制,可以用来存储限于本地单台服务器的任意集合。

3、config

    当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

六、数据库操作

(一)库操作

1、查看数据库

注:以下命令二选一即可,均可正常使用。

show databases
show dbs

 

2、显示当前所在数据库

db

 

3、切换数据库

use zn

 

4、数据库创建

4.1、隐式创建

       不用主动创建,使用use newDB,会自动创建不存在的数据库,只有在库中创建集合后才会保存,并使用show dbs查看到

4.2、删除数据库

        use dbName

        db.dropdatabase()

(二)文档操作

1、创建集合

db.createCollection('wjy')

2、查看集合

show tables

 

3、删除

3.1、删除数据库

db.dropDatabase()

 

 注:在删除数据库时,一定要先进入要删除的数据库

3.2、删除集合

        db.需要删除的集合名称.drop()

db.wjy.drop()

       db["123"].drop()是指在数据库中删除名为"123"的集合(collection)或表(table)。

其中,db是数据库对象,["123"]表示要操作的集合或表的名称,drop()表示删除该集合或表。 

db.getCollection("123").drop()

4、插入数据(文档)

4.1、单行

        db.集合名称.insert({key:value})

db.wjy.insert({'a':'123'})

 查看命令:

db.wjy.find({})

 内容解析:

{ "_id" : ObjectId("64da1f759aabd69ea17751d8"), "a" : "123" }

这是一个MongoDB的文档数据,结构如下:

{ "_id" : ObjectId("64da1f759aabd69ea17751d8"), "a" : "123" }

其中:

_id 是文档的唯一标识符,由MongoDB自动生成,用于唯一标识该文档。

a 是文档中的一个字段,它的值是字符串 "123"。

4.2、多行

        db.集合名称.insertmany([{key:value},{key:value},{key:value}])

db.wjy.insertMany([{'b':'1234'},{'c':'12345'},{'d':'123456'}])

 内容解析:

这是一个MongoDB的操作结果,对应的内容解析如下:

  • acknowledged 表示操作是否被MongoDB服务器确认执行。如果值为true,表示操作已被成功确认。
  • insertedIds 表示插入操作成功后生成的文档的唯一标识符(ObjectIds)的列表。在这个例子中,三个文档被成功插入,它们的唯一标识符分别是:
    • ObjectId("64da20c76fb9e74578a149d1")
    • ObjectId("64da20c76fb9e74578a149d2")
    • ObjectId("64da20c76fb9e74578a149d3")

这个操作的结果说明在执行插入操作后,MongoDB服务器已经成功确认了操作,并且返回了生成的插入文档的唯一标识符列表。

db.wjy.find({})

          mongodb默认数字的数据类型float浮点型,若要改变为整型:NumberInt(数字)两种方式:

db.wjy.insert({'_id':'1','a':'123','phone':'111111'})

db.wjy.insert({'_id':NumberInt(2),'b':'1234','phone':'222222'})

 删除数据

db.wjy.deleteMany({})

5、查询数据

5.1全集合查询

            db.集合名称.find({})

db.wjy.find({})

             db.集合名称.find()

db.wjy.find()

5.2、条件查询

            db.info.find({查询条件1key:value,查询条件2,...},{key1:1|0,key2:1|0,...})

db.wjy.find({'a':'123'})

db.wjy.find({'a':'123'},{'a':0})

 

 命令解析:

  • db.wjy 表示在数据库中选择集合 wjy 进行查询。db 是数据库对象,wjy 是集合名称。
  • find({'a':'123'}) 表示查询集合中的文档,其中字段 a 的值为 '123'
  • {'a':0} 表示设置查询结果中不包含字段 a。在查询结果中,其他字段将会被返回,而字段 a 不会被返回。

这个查询操作的意思是,在集合 wjy 中查找字段 a 的值为 '123' 的文档,并返回这些文档中除了字段 a 以外的其他字段。

            key:1 显示,key:0 不显示

            当显示的key只有一个时,key:1 只显示该key及对应value,key:0 显示除了该key之外其他所有keyvalue

5.3、查询集合中有多少文档

            db.集合名称.count()

db.wjy.count()

 

6、删除数据

6.1、全文删除

            db.集合名称.remove({})

db.wjy.remove({})

6.2、条件删除

            db.集合名称.remove({key:value})

db.wjy.remove({'b':'1234'})

7、更新数据

db.wjy.update({_id:'1'},{$set:{'phone':'222222'}})

7.1、所有满足条件的文档都进行更新

            db.info.update({userid:"1003"},{$set:{nickname:"tom"}},{multi:true})

7.2、更新文档进行数值递增

            db.info.update({userid:"1003"},{$inc:{likenum:NumberInt(1000)}})

先创建5个同名,方面更改完成查看

 第一个:

db.wjy.update({userID:NumberInt(1)},{$inc:{userID:NumberInt(10)}})

 第二个:

db.wjy.update({userID:NumberInt(1)},{$inc:{userID:NumberInt(20)}})

 第三个:

db.wjy.update({userID:NumberInt(1)},{$inc:{userID:NumberInt(30)}})

第四个:

db.wjy.update({userID:NumberInt(1)},{$inc:{userID:NumberInt(-20)}})

 第五个:

db.wjy.update({userID:NumberInt(1)},{$inc:{userID:NumberInt(-10)}})

七、MongoDB数据库备份

(一)备份命令

1、mongodump

        选项

            -h=hostname:port

            -u=<username>

            -p=<password>

            --authenticationDatabase=<dbname>

            -d=<database>

            -o=<path>

        语法

    mongodump -d dbName -h hostName:port -u userName -p Password -o backupDirectory

mkdir /bak
mongodump -d zn -o /bak

 

2、mongoexport

        选项

            -h=hostname:port

            -u=<username>

            -p=<password>

            --authenticationDatabase=<dbname>

            -d=<database>

            -o=<path>

        语法

            mongoexport -d dbName -c tableName -h hostName:port -u userName -p Password -o backupDirectory/jsonFile.json

mongoexport -d zn -c wjy -o /bak/zn_wjy-bak.json

 

 (二)恢复命令

注:在恢复备份前,我们先删除 zn 数据库,不然无法体现出恢复效果

1、mongorestore

        选项

            -h=hostname:port

            -u=<username>

            -p=<password>

            --authenticationDatabase=<dbname>

            -d=<database>

            --drop 当目标数据库中存在同名集合则删除再恢复

        语法

            mongorestore -h hostName -u username -p password -d dbName -c tableName bakcupDirector/bsonFile

mongorestore -d zn -c wjy /bak/zn/wjy.bson

 内容解析:

     checking for collection data in /bak/zn/wjy.bson:检查备份文件/bak/zn/wjy.bson中是否有集合数据。

     reading metadata for zn.wjy from /bak/zn/wjy.metadata.json:从备份文件/bak/zn/wjy.metadata.json中读取集合"zn.wjy"的元数据信息。

     restoring zn.wjy from /bak/zn/wjy.bson:从备份文件/bak/zn/wjy.bson中恢复集合"zn.wjy"的数据。

     no indexes to restore:没有索引需要恢复。

     finished restoring zn.wjy (5 documents, 0 failures):成功完成集合"zn.wjy"的数据恢复,总共恢复了5个文档,没有失败的文档。

     5 document(s) restored successfully. 0 document(s) failed to restore.:成功恢复了5个文档,没有失败的文档。

mongo
show dbs
use zn
show tables
db.wjy.find({})

 现在已经验证备份已经恢复完毕

2、mongoimport

注:在恢复备份前,我们先删除 zn 数据库下的 wjy 集合,不然无法体现出恢复效果

db.wjy.drop()

 

         选项

            -h=hostname:port

            -u=<username>

            -p=<password>

            --authenticationDatabase=<dbname>

            -d=<database>

            --drop 当目标数据库中存在同名集合则删除再恢复

        语法

            mongoimport -d dbName -c tableName -h hostName:port -u userName -p Password  backupDirectory/jsonFile.json

mongoimport -d zn -c wjy /bak/zn_wjy-bak.json 

 内容解析:

2023-08-14T23:05:48.974+0800    connected to: mongodb://localhost/
2023-08-14T23:05:48.982+0800    5 document(s) imported successfully. 0 document(s) failed to import.

 进入数据库查看验证

mongo
show dbs
show tables
db.wjy.find({})

 经过查看,数据库集合内容已经成功进行恢复

总结

       MongoDB是一种强大的非关系型数据库,具有高性能、灵活的数据模型和丰富的功能。它适用于各种应用场景,包括大数据、实时分析和Web应用程序等。尽管使用MongoDB需要一些学习和配置,但它提供的性能和可扩展性使得它成为许多开发者和组织的首选数据库管理系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/42459.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过 Amazon SageMaker JumpStart 部署 Llama 2 快速构建专属 LLM 应用

来自 Meta 的 Llama 2 基础模型现已在 Amazon SageMaker JumpStart 中提供。我们可以通过使用 Amazon SageMaker JumpStart 快速部署 Llama 2 模型&#xff0c;并且结合开源 UI 工具 Gradio 打造专属 LLM 应用。 Llama 2 简介 Llama 2 是使用优化的 Transformer 架构的自回归语…

【JavaEE基础学习打卡04】JDBC之MySQL数据库安装

目录 前言一、JDBC与数据库二、MySQL数据库1.MySQL数据库2.MySQL服务下载安装3.MySQL服务启动停止4.MySQL命令 三、MySQL客户端安装总结 前言 &#x1f4dc; 本系列教程适用于JavaWeb初学者、爱好者&#xff0c;小白白。我们的天赋并不高&#xff0c;可贵在努力&#xff0c;坚持…

【 Cocos Creator 项目实战】益智游戏《2048》(附带完整源码工程)

本文乃Siliphen原创&#xff0c;转载请注明出处 目录 游戏介绍 概述 游戏整体流程 游戏框架设计 主要流程控制类 本文项目的代码组织结构 构建游戏世界 数字方块 地图 触摸手势识别 防触摸抖动 判断用户输入的方向 地图 任意大小的地图 初始化地图大小 地图绘制…

无涯教程-Perl - sysread函数

描述 该函数等效于C /操作系统函数read(),因为它绕过了诸如print,read和seek之类的函数所采用的缓冲系统,它仅应与相应的syswrite和sysseek函数一起使用。 它从FILEHANDLE中读取LENGTH个字节,并将输出放入SCALAR中。如果指定了OFFSET,则将数据从OFFSET字节写入SCALAR,从而有效…

IC流程中 DFT 学习笔记(2)

引言 DFT是ASIC芯片设计流程中不可或缺的环节。其主要目的是在芯片前端设计验证完成后插入一些诸如寄存器链等可供测试的逻辑&#xff0c;算是IC后端设计的范畴&#xff0c;属于结构测试而非功能测试。主要是在ASIC芯片流片完成后&#xff0c;通过这些已插入的逻辑&#xff0c…

手机照片误删怎么办,电脑照片误删怎么办怎么才能找回,EasyRecovery来帮您

手机照片误删怎么办&#xff0c;电脑照片误删怎么办怎么才能找回&#xff0c;EasyRecovery 2023来帮您&#xff01;&#xff01;&#xff01; EasyRecovery 2023是一款操作安全、价格便宜、用户自主操作的 数据恢复 方案&#xff0c;它支持从各种各样的 存储介质 恢复删除 或者…

Vue3.X 创建简单项目

一、环境安装与检查 首先&#xff0c;我们要确保我们安装了构建vue框架的环境&#xff0c;不会安装的请自行百度&#xff0c;有很多安装教程。检查环境 node -v # 如果没有安装nodejs请安装&#xff0c;安装教程自行百度 vue -V# 没有安装&#xff0c;请执行npm install -g v…

TCP服务器实现—多进程版,多线程版,线程池版

目录 前言 1.存在的问题 2.多进程版 3.多线程版 4.线程池版 总结 前言 在上一篇文章中使用TCP协议实现了一个简单的服务器&#xff0c;可以用来服务端和客户端通信&#xff0c;但是之前的服务器存在一个问题&#xff0c;就是当有多个客户端连接服务器的时候&#xff0c;服…

002-Spring boot 自动配置相关分析

目录 自动配置 EnableAutoConfiguration开启自动配置读取配置提前过滤自动配置配置包 AutoConfigurationPackage 自动配置 EnableAutoConfiguration 开启自动配置 在Spring 启动类上的 SpringBootApplication 中有 EnableAutoConfiguration 读取配置 Import(AutoConfigurat…

musl libc ldso 动态加载研究笔记:01

前言 musl 是一个轻量级的标准C库&#xff0c;建立在系统调用之上&#xff0c;可以认为是【用户态】的C 库&#xff0c;与 glibc 或者 uClibc 属于同一类。 基于 musl 的 gcc 工具链包括交叉编译工具链&#xff0c;可以用于编译 Linux 或者其他的操作系统&#xff0c;如当前 L…

构建可远程访问的企业内部论坛

文章目录 前言1.cpolar、PHPStudy2.Discuz3.打开PHPStudy&#xff0c;安装网页论坛所需软件4.进行网页运行环境的构建5.运行Discuz网页程序6.使用cpolar建立穿透内网的数据隧道&#xff0c;发布到公网7.对云端保留的空白数据隧道进行配置8.Discuz论坛搭建完毕 前言 企业在发展…

Python中import模块导入的实现原理

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起探讨和分享Linux C/C/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。 Python中import模块导入的实现原理 什么是模块import搜索路径import导入模块的原理图书推荐 专栏&…

京东门详一码多端探索与实践 | 京东云技术团队

本文主要讲述京东门详业务在支撑过程中遇到的困境&#xff0c;面对问题我们在效率提升、质量保障等方向的探索和实践&#xff0c;在此将实践过程中问题解决的思路和方案与大家一起分享&#xff0c;也希望能给大家带来一些新的启发 一、背景 1.1、京东门详介绍 1.1.1、京东门…

数据的深海潜行:数据湖、数据仓库与数据湖库之间的微妙关系

导言&#xff1a;数据的重要性与存储挑战 在这个信息爆炸的时代&#xff0c;数据已经成为企业的核心资产&#xff0c;而如何高效、安全、便捷地存储这些数据&#xff0c;更是每个组织面临的重大挑战。 数据作为组织的核心资产 数据在过去的几十年里从一个辅助工具演变成企业的…

Ubuntu 20.04(服务器版)安装 Anaconda

0、Anaconda介绍 Anaconda是一个开源的Python发行版本&#xff0c;包含了包括Python、Conda、科学计算库等180多个科学包及其依赖项。因此&#xff0c;安装了Anaconda就不用再单独安装CUDA、Python等。 CUDA&#xff0c;在进行深度学习的时候&#xff0c;需要用到GPU&#xf…

操作符详解上(非常详细)

目录 二进制介绍二进制2进制转10进制10进制转2进制数字2进制转8进制和16进制2进制转8进制2进制转16进制 原码、反码、补码移位操作符左移操作符右移操作符 位操作符&#xff1a;&、|、^逗号表达式 二进制介绍 在初学计算机时我们常常会听到2进制、8进制、10进制、16进制……

C++中String的语法及常用接口用法

在C语言中&#xff0c;string是一个标准库类&#xff08;class&#xff09;&#xff0c;用于处理字符串&#xff0c;它提供了一种更高级、更便捷的字符串操作方式&#xff0c;string 类提供了一系列成员函数和重载运算符&#xff0c;以便于对字符串进行操作和处理。 一、string…

Redis高可用:主从复制详解

目录 1.什么是主从复制&#xff1f; 2.优势 3.主从复制的原理 4.全量复制和增量复制 4.1 全量复制 4.2 增量复制 5.相关问题总结 5.1 当主服务器不进行持久化时复制的安全性 5.2 为什么主从全量复制使用RDB而不使用AOF&#xff1f; 5.3 为什么还有无磁盘复制模式&#xff…

C# 一种求平方根的方法 立方根也可以 极大 极小都可以

不知道研究这些干啥&#xff0c;纯纯的浪费时间。。。 public static double TQSquare(double number){Random random1 new Random(DateTime.Now.Millisecond);double x1 0, resultX1 0, diff 9999999999, diffTemporary 0;for (int i 0; i < 654321; i){if (random1…

怎么做Tik Tok海外娱乐公会呢?新加坡市场怎么样?

一、为什么选择TikTok直播 1. 海外市场潜力巨大 • 自2016年始&#xff0c;多家直播平台陆续拓展至东南亚、中东、俄罗斯、日韩、欧美、拉美等地区。 • 海外市场作为直播发展新蓝海&#xff0c;2021年直播行业整申请cmxyci体规模达百亿美元&#xff0c;并维持高速增长。 &a…