简介

  • MongoDB 是由 C++ 编写的开源 NoSQL 和基于文档的数据库。MongoDB 提供了面向文档的存储方式,操作起来比较简单和容易,支持“无模式”的数据建模,可以存储比较复杂的数据类型,是一款非常流行的文档类型数据库。
  • MongoDB 是非关系型数据库当中功能最丰富,最像关系型数据库的。它支持的数据结构非常松散,会将数据存储为一个文档,数据结构由键值对(key=>value)组成,是类似于json的bson格式,字段值可以包含其它文档、数组和文档数组,因此可以存储比较复杂的数据类型。
  • 在高负载的情况下,MongoDB 天然支持水平扩展和高可用,可以很方便地添加更多的节点/实例,以保证服务性能和可用性。在许多场景下,MongoDB 可以用于代替传统的关系型数据库或键/值存储方式,皆在为 Web 应用提供可扩展的高可用高性能数据存储解决方案。

为什么使用MongoDB

以下是一些为什么应该开始使用MongoDB的原因

  • 面向文档的–由于MongoDB是NoSQL类型的数据库,它不是以关系类型的格式存储数据,而是将数据存储在文档中。这使得MongoDB非常灵活,可以适应实际的业务环境和需求。
  • 临时查询-MongoDB支持按字段,范围查询和正则表达式搜索。可以查询返回文档中的特定字段。
  • 索引-可以创建索引以提高MongoDB中的搜索性能。MongoDB文档中的任何字段都可以建立索引。
  • 复制-MongoDB可以提供副本集的高可用性。副本集由两个或多个mongo数据库实例组成。每个副本集成员可以随时充当主副本或辅助副本的角色。主副本是与客户端交互并执行所有读/写操作的主服务器。辅助副本使用内置复制维护主数据的副本。当主副本发生故障时,副本集将自动切换到辅助副本,然后它将成为主服务器。
  • 负载平衡-MongoDB使用分片的概念,通过在多个MongoDB实例之间拆分数据来水平扩展。MongoDB可以在多台服务器上运行,以平衡负载或复制数据,以便在硬件出现故障时保持系统正常运行。

MongoDB的重要特性

  • 查询:它支持临时查询和基于文档的查询。
  • 索引支持:文档中的任何字段都可以被索引。
  • 复制:它支持主从复制。MongoDB 使用本机应用程序来维护数据的多个副本。防止数据库停机是副本集的功能之一,因为它具有自我修复的分片。
  • 多台服务器:数据库可以运行在多台服务器上。在硬件故障的情况下,数据被复制以防止系统发生故障。
  • 自动分片:此过程将数据分布在多个称为分片的物理分区中。由于分片,MongoDB 具有自动负载平衡功能。
  • MapReduce:它支持MapReduce和灵活的聚合工具。
  • 故障处理:在 MongoDB 中,很容易处理故障情况。大量的副本提供了更高的保护和数据可用性,以防止数据库停机,例如机架故障、多台机器故障和数据中心故障,甚至网络分区。
  • GridFS:无需使堆栈复杂化,可以存储任何大小的文件。GridFS 功能将文件分成更小的部分并将它们存储为单独的文档。
  • 无模式数据库:它是一个用 C++ 编写的无模式数据库。
  • 面向文档的存储:它使用 BSON 格式,这是一种类似 JSON 的格式。
  • 过程: MongoDB JavaScript 运行良好,因为数据库使用语言而不是过程。

MongoDB 数据类型

  • 字符串 -必须是 UTF-8 有效
  • Integer -根据服务器存储 32 位或 64 位的数值
  • Boolean -存储真/假值
  • Double -存储浮点值
  • Min/Max keys -将值与最低和最高 BSON 元素进行比较
  • Arrays -将数组、列表或多个值存储到一个键中
  • Date -以 UNIX 格式存储当前日期或时间
  • 时间戳 -用于记录文档的修改或添加
  • 对象 -用于嵌入文档
  • 对象 ID -存储文档的 ID
  • 二进制数据 -用于存储二进制数据
  • Null -存储空值
  • Symbol -与字符串相同,但主要用于具有特定符号类型的语言
  • 代码 -用于将 JavaScript 代码存储到文档中
  • Regular expression -存储正则表达式

MySQL与 MongoDB 一些对比

数据库 MySQL MongoDB
数据库模型 关系型 非关系型
存储方式 不同引擎有不同的存储方式 以类JSON的文档的格式存储
查询语句 SQL语句 MongoDB查询方式(类似JavaScript的函数)
数据处理方式 不同引擎有自己的特点 基于内存,将热数据存放在物理内存中,从而达到高速读写
成熟度 成熟度高 新兴数据库,成熟度较低
广泛度 开源数据库,市场份额不断增长 NoSQL数据库中,比较完善且开源,使用人数在不断增长
事务性 支持事务操作 仅支持单文档事务操作,弱一致性
占用空间 占用空间小 占用空间大
join操作 MySQL支持join MongoDB没有join

MySQL与 MongoDB 对应的术语:

SQL术语/概念 MongoDB术语/概念 解释/说明
database database 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column field 数据字段/域
index index 索引
table joins   表连接,MongoDB不支持
primary key primary key 主键,MongoDB自动将_id字段设置为主键

MongoDB 架构

  • 数据库:简单来说,可以称为数据的物理容器。每个数据库在文件系统上都有自己的一组文件,多个数据库存在于单个 MongoDB 服务器上。
  • 集合:一组数据库文档可以称为一个集合。RDBMS 相当于一个集合是一个表。整个集合存在于单个数据库中。涉及集合时没有模式。在集合中,各种文档可以有不同的字段,但集合中的文档大多用于相同的目的或服务于相同的最终目标。
  • 文档:一组键值对可以指定为一个文档。文档与动态模式相关联。拥有动态模式的好处是单个集合中的文档不必拥有相同的结构或字段。此外,集合文档中的公共字段可以具有不同类型的数据。

MongoDB核心组件及其用法包括:

  • 集合 —— 它们是一组 MongoDB 文档。它们的 RDBMS 对应物是表。必须了解集合不强制执行任何结构。集合始终存在于单个数据库中。
  • 文档 —— 这是一个以 BSON 格式存储的数据集合。它的 RDBMS 对应物是 Row。MongoDB 中的记录称为文档。MongoDB 中的文档包含字段名称及其对应的值。
  • 字段 —— 这是 MongoDB 文档中的单个元素,它包含作为字段和值对的值。在关系数据库中,字段类似于列。简单来说,字段可以称为文档中的名称-值对。
  • _id   —— 每个 MongoDB 文档都需要这个字段。_id 字段可以等同于关系数据库中的主键。它表示 MongoDB 文档中的唯一实例或值。如果您有意在 MongoDB 中创建一个没有 _id 字段的文档,它将自动生成。
  • 游标 —— 这是一个指示查询集合结果的指针。通过游标的帮助,客户端可以检索结果。
  • JSON —— 这是一种 JavaScript 表示法。它是纯文本,一种用于表达结构化数据的人类可读格式。数以千计的编程语言支持 JSON。
  • 数据库 —— 就像在 RDBMS 中,数据库是表容器,在 MongoDB 中,数据库是集合容器。每个数据库在文件系统上都包含自己的文件集。因此,MongoDB 服务器可以存储多个数据库。

MongoDB 的优势

  • 1. 分布式数据平台

    • 在地理分布的数据中心和云区域中,MongoDB 可以运行以确保更高级别的可用性和可扩展性。
    • 无需停机且无需更改您的应用程序,MongoDB 可在数据量和吞吐量方面进行弹性扩展。
    • 该技术为您提供了跨各种数据中心的足够灵活性,并具有良好的一致性。
  • 2. 快速迭代开发
    • 不断变化的业务需求将不再影响您企业中项目的成功交付。
    • 具有动态模式的灵活数据模型,以及强大的 GUI 和命令行工具,使开发人员能够快速构建和发展应用程序。
    • 自动配置支持持续集成和交付以实现生产运营。
    • RDBMS 的静态关系模式和复杂操作现在已成为过去。
  • 3. 灵活的数据模型
    • MongoDB 将数据存储在灵活的类 JSON 文档中,这使得数据持久化和合并变得容易。
    • 应用程序代码中的对象被映射到文档模型,因此处理数据变得容易。
    • 不用说,模式治理控制、数据访问、复杂聚合和丰富的索引功能不会以任何方式受到损害。
    • 无需停机,就可以动态修改架构。
    • 由于这种灵活性,开发人员无需担心数据操作。
  • 4. 降低 TCO(总拥有成本)
    • 使用 MongoDB 时,应用程序开发人员可以更好地完成工作。
    • 得益于 Atlas Cloud 服务,运营团队也可以出色地完成工作。
    • 由于 MongoDB 在商品硬件上运行,因此成本显着降低。
    5.集成功能集

    • 由于分析和数据可视化、事件驱动的流数据管道、文本和地理空间搜索、图形处理、内存性能,人们可以获得各种实时应用程序。
    • RDBMS 要实现这一点,需要额外的复杂技术以及单独的集成要求。

MongoDB 的缺点

  • 在 MongoDB 中,没有合并表的方法;因此,每次需要使用此功能时,都必须手动完成,导致编码难看且耗时。
  • 它使用大量内存,因为它必须为每个文档存储密钥,因为可能存在数据冲突。
  • 当您开始使用一项功能时,它会锁定整个数据库,从而导致并发问题。
  • 它不会自动执行此操作;因此用户必须手动确保该操作是一个事务。

场景应用

适用场景

    • 网站数据:Mongo 非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
    • 缓存:由于性能很高,Mongo 也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo 搭建的持久化缓存层可以避免下层的数据源过载。
    • 大尺寸、低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。
    • 高伸缩性的场景:Mongo 非常适合由数十或数百台服务器组成的数据库,Mongo 的路线图中已经包含对MapReduce 引擎的内置支持。
    • 用于对象及JSON 数据的存储:Mongo 的BSON 数据格式非常适合文档化格式的存储及查询。

不适场景

    • 高度事务性的系统:例如,银行或会计系统。传统的关系型数据库目前还是更适用于需要大量原子性复杂事务的应用程序。
    • 传统的商业智能应用:针对特定问题的BI 数据库会产生高度优化的查询方式。对于此类应用,数据仓库可能是更合适的选择。
    • 需要SQL 的问题。

MongoDB的版本号解释

MongoDB的版本号分为3位:主版本.次版本.修订号。

  • 主版本(主要版本):当有重大更新时更新主版本号。例如支持WT引擎时主版本号从2升级到3;支持事务功能时从3升级到4;
  • 次版本(快速发布):发布新功能时更新次版本号。以奇数次版本号作为开发版,给大家尝鲜用,但不应用于生产环境;以偶数次版本号作为稳定版,适合生产环境使用。这就是为什么大家在下载网站上只看到4.0,4.2,4.4而无法找到4.1,4.3,4.5的原因。
  • 修订号(补丁版本):每隔一定时间发布一次,包含近期内所有的bugfix。修订号不做任何功能上的更新,只用于发布bugfix。所以只要主/次版本号一致时,更新修订号可以完全向前兼容。

  主/次版本基本上保持一年一次的更新频率,修订号不定期发布。

MongoDB官方下载网站:

安装MongoDB社区版

CentOS7准备环境

[root@MongoDB-01 ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@MongoDB-01 ~]# uname -r
3.10.0-1160.83.1.el7.x86_64 [root@MongoDB-01 ~]# systemctl stop firewalld
[root@MongoDB-01 ~]# sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/sysconfig/selinux
[root@MongoDB-01 ~]# setenforce 0
[root@MongoDB-01 ~]# ntpdate 0.centos.pool.ntp.org
[root@MongoDB-01 ~]# yum install net-tools vim wget curl -y
  • MongoDB 5.x
创建/etc/yum.repos.d/mongodb-org-5.0.repo文件
[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc
# 安装最新稳定版本的 MongoDB
# yum install -y mongodb-org
==================================================================================================================================================
# 如要安装特定版本的 MongoDB,请单独指定每个组件包并将版本号附加到包名称,例如
yum install -y mongodb-org-5.0.0 mongodb-org-database-5.0.0 mongodb-org-server-5.0.0 mongodb-org-shell-5.0.0 mongodb-org-mongos-5.0.0 mongodb-org-tools-5.0.0
# yum当更新版本可用时升级软件包。为防止意外升级,请固定包。要固定包,请将以下exclude指令添加到您的/etc/yum.conf文件中
exclude=mongodb-org,mongodb-org-database,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
==================================================================================================================================================
  • MongoDB 6.x
# 创建/etc/yum.repos.d/mongodb-org-6.0.repo文件
[root@MongoDB-01 ~]# cat /etc/yum.repos.d/mongodb-org-6.0.repo
[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc # 安装最新稳定版本的 MongoDB
[root@MongoDB-01 ~]# yum install -y mongodb-org

==================================================================================================================================================
# 如要安装特定版本的 MongoDB,请单独指定每个组件包并将版本号附加到包名称,例如
yum install -y mongodb-org-6.0.0 mongodb-org-database-6.0.0 mongodb-org-server-6.0.0 mongodb-org-mongos-6.0.0 mongodb-org-tools-6.0.0 # yum当更新版本可用时升级软件包。为防止意外升级,请固定包。要固定包,请将以下exclude指令添加到您的/etc/yum.conf文件中
exclude=mongodb-org,mongodb-org-database,mongodb-org-server,mongodb-mongosh,mongodb-org-mongos,mongodb-org-tools
==================================================================================================================================================

[root@MongoDB-01 ~]# rpm -qa | grep mongodb
mongodb-mongosh-1.8.0-1.el8.x86_64
mongodb-org-database-tools-extra-6.0.5-1.el7.x86_64
mongodb-org-mongos-6.0.5-1.el7.x86_64
mongodb-org-database-6.0.5-1.el7.x86_64
mongodb-database-tools-100.7.0-1.x86_64
mongodb-org-tools-6.0.5-1.el7.x86_64
mongodb-org-server-6.0.5-1.el7.x86_64
mongodb-org-6.0.5-1.el7.x86_64 [root@MongoDB-01 ~]# mongod --version
db version v6.0.5
Build Info: {
"version": "6.0.5",
"gitVersion": "c9a99c120371d4d4c52cbb15dac34a36ce8d3b1d",
"openSSLVersion": "OpenSSL 1.0.1e-fips 11 Feb 2013",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "rhel70",
"distarch": "x86_64",
"target_arch": "x86_64"
}
} # 默认配置文件
[root@MongoDB-01 ~]# grep -Ev "^$|#" /etc/mongod.conf
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
processManagement:
timeZoneInfo: /usr/share/zoneinfo
net:
port: 27017 # 确保运行MongoDB的用户有权访问
[root@MongoDB-01 ~]# grep mongo /etc/passwd
mongod:x:997:996:mongod:/var/lib/mongo:/bin/fals
[root@MongoDB-01 ~]# ls -ld /var/log/mongodb/mongod.log /var/lib/mongo
drwxr-xr-x 4 mongod mongod 4096 Mar 23 10:24 /var/lib/mongo
-rw-r----- 1 mongod mongod 20102 Mar 23 10:24 /var/log/mongodb/mongod.log [root@MongoDB-01 ~]# systemctl start mongod
[root@MongoDB-01 ~]# ps aux | grep mongod
mongod 1225 14.8 2.3 2659472 93396 ? Ssl 11:54 0:00 /usr/bin/mongod -f /etc/mongod.conf
root 1269 0.0 0.0 112808 968 pts/0 S+ 11:54 0:00 grep --color=auto mongod
[root@MongoDB-01 ~]# netstat -ntpl | grep mongod
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 1225/mongod
[root@MongoDB-01 ~]# systemctl enable mongod
  • 卸载MongoDB
[root@MongoDB-01 ~]# systemctl stop mongod
[root@MongoDB-01 ~]# ps aux | grep mongod
root 2129 0.0 0.0 112808 968 pts/0 S+ 12:11 0:00 grep --color=auto mongod
[root@MongoDB-01 ~]# yum erase $(rpm -qa | grep mongodb-org)
[root@MongoDB-01 ~]# rm -r /var/log/mongodb
[root@MongoDB-01 ~]# rm -r /var/lib/mongo 


Ubuntu准备环境

root@ubuntu-1804:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.6 LTS
Release: 18.04
Codename: bionic
root@ubuntu-1804:~#
root@ubuntu-1804:~# uname -r
4.15.0-163-generic root@ubuntu-1804:~# ufw disable
Firewall stopped and disabled on system startup
root@ubuntu-1804:~# ufw status
Status: inactive
root@ubuntu-1804:~# apt list --installed | grep mongo
  • MongoDB 5.x
# 导入密钥
root@ubuntu-1804:~# apt-get install gnupg
root@ubuntu-1804:~# wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | apt-key add - # 创建/etc/apt/sources.list.d/mongodb-org-5.0.list文件
root@ubuntu-1804:~# echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
root@ubuntu-1804:~# apt-get update # 安装最新稳定版本的 MongoDB
root@ubuntu-1804:~# apt-get install -y mongodb-org =======================================================================================================================================================================
# 如要安装特定版本的 MongoDB,请单独指定每个组件包并将版本号附加到包名称,例如
sudo apt-get install -y mongodb-org=5.0.0 mongodb-org-database=5.0.0 mongodb-org-server=5.0.0 mongodb-org-shell=5.0.0 mongodb-org-mongos=5.0.0 mongodb-org-tools=5.0.0
# apt-get当更新版本可用时升级软件包。为防止意外升级,请固定包。
root@ubuntu-1804:~# echo "mongodb-org hold" | sudo dpkg --set-selections
root@ubuntu-1804:~# echo "mongodb-org-database hold" | sudo dpkg --set-selections
root@ubuntu-1804:~# echo "mongodb-org-server hold" | sudo dpkg --set-selections
root@ubuntu-1804:~# echo "mongodb-org-shell hold" | sudo dpkg --set-selections
root@ubuntu-1804:~# echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
root@ubuntu-1804:~# echo "mongodb-org-tools hold" | sudo dpkg --set-selections
=======================================================================================================================================================================
  • MongoDB 6.x  
# 导入密钥
root@ubuntu-1804:~# apt-get install gnupg
root@ubuntu-1804:~# wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
OK
# 创建/etc/apt/sources.list.d/mongodb-org-5.0.list文件
root@ubuntu-1804:~# echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
root@ubuntu-1804:~# apt-get update # 安装最新稳定版的 MongoDB
root@ubuntu-1804:~# apt-get install -y mongodb-org
=======================================================================================================================================================================
# 如要安装特定版本的 MongoDB,请单独指定每个组件包并将版本号附加到包名称,例如
root@ubuntu-1804:~# apt-get install -y mongodb-org=6.0.0 mongodb-org-database=6.0.0 mongodb-org-server=6.0.0 mongodb-org-mongos=6.0.4 mongodb-org-tools=6.0.0
# apt-get当更新版本可用时升级软件包。为防止意外升级,请固定包。
root@ubuntu-1804:~# echo "mongodb-org hold" | sudo dpkg --set-selections
root@ubuntu-1804:~# echo "mongodb-org-database hold" | sudo dpkg --set-selections
root@ubuntu-1804:~# echo "mongodb-org-server hold" | sudo dpkg --set-selections
root@ubuntu-1804:~# echo "mongodb-org-shell hold" | sudo dpkg --set-selections
root@ubuntu-1804:~# echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
root@ubuntu-1804:~# echo "mongodb-org-tools hold" | sudo dpkg --set-selections
======================================================================================================================================================================= root@ubuntu-1804:~# mongod --version
db version v6.0.5
Build Info: {
"version": "6.0.5",
"gitVersion": "c9a99c120371d4d4c52cbb15dac34a36ce8d3b1d",
"openSSLVersion": "OpenSSL 1.1.1 11 Sep 2018",
"modules": [],
"allocator": "tcmalloc",
"environment": {
"distmod": "ubuntu1804",
"distarch": "x86_64",
"target_arch": "x86_64"
}
}

常用命令

MongoDB基础知识梳理的更多相关文章

  1. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  2. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  3. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  4. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  5. [SQL] SQL 基础知识梳理(五) - 复杂查询

    SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...

  6. Anliven - 基础知识梳理汇总 - 软件测试

    基础知识梳理 - 软件测试 - 概念 基础知识梳理 - 软件测试 - 分类 基础知识梳理 - 软件测试 - 流程 基础知识梳理 - 软件测试 - 用例 基础知识梳理 - 软件测试 - 方法 基础知识梳 ...

  7. [C# 基础知识梳理系列]专题六:泛型基础篇——为什么引入泛型

    引言: 前面专题主要介绍了C#1中的2个核心特性——委托和事件,然而在C# 2.0中又引入一个很重要的特性,它就是泛型,大家在平常的操作中肯定会经常碰到并使用它,如果你对于它的一些相关特性还不是很了解 ...

  8. java基础知识梳理

    java基础知识梳理 1 基本数据类型

  9. MongoDB基础知识 02

    MongoDB基础知识 02 6 数据类型 6.1 null : 表示空值或者不存在的字段 {"x":null} 6.2 布尔型 : 布尔类型只有两个值true和false {&q ...

  10. MongoDB基础知识 01

    MongoDB基础知识  1. 文档  文档是MongoDB中的数据的基本单元,类似于关系型数据库管理系统的行. 文档是键值对的一个有序集.通常包含一个或者多个键值对. 例如: {”greeting& ...

随机推荐

  1. 关于DELL服务器风扇远程控制失效

    关于DELL服务器风扇远程ipmitool控制失效 去年12月,公司突然断电,公司有一台DELL 720XD服务器,自从断电之后,使用ipmitool命令行控制风扇速度就失效了,因为之前忙其他的项目, ...

  2. svg矢量二维码加盖在PDF文件中

    正常行驶的bitmap类型的二维码格式,加载到PDF中,将会导致二维码失真,无法扫描. 矢量图可根据尺寸大小进行调节,不会出现失真模糊情况 所用依赖 <PackageReference Incl ...

  3. PTA一元多项式的乘法与加法运算 另一种算法

    设计函数分别求两个一元多项式的乘积与和. 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数).数字间以空格分隔. ...

  4. ReactHooks_useState

    import { useState } from "react"; import './App.css'; function App() {   const [redBorder, ...

  5. 游戏内存优化之使用16位纹理/NPOT

    转自:https://blog.csdn.net/oqqQuZi1234567/article/details/41749599 图片文件大小和纹理内存占用是两码事.假设他们是帐篷.图片文件就相当于帐 ...

  6. Mysql的驱动表 被驱动表 join buffer

    1.为什么小表驱动大表: for(int i=5;.......){     for(int j=1000;......)     {}} 1.1如果小的循环在外层,对于数据库连接来说就只连接5次,进 ...

  7. jmeter 变量的使用

    jmeter添加变量 一.添加用户自定义变量 添加用户自定义变量 作用:常用数据参数化.当变量发生变化时,不需要逐个脚本修改,只需要修改用户自定义中的变量就可以了. 变量使用如下图 二.函数助手定义变 ...

  8. C# DevExpress gridview 字符串尾部带数字如何排序

    我们经常遇到这样的问题,字符串尾部带数字,如何正确排序; 首先设置GridView ,Columns 的相关列,设置属性中,SortMode为Custom 解决思路,把字符串尾缀数字,分离出来.先比较 ...

  9. Web服务器2

    Web服务器2 基于华为鲲鹏云服务器CentOS中(或Ubuntu),使用Linux Socket实现: Web服务器的客户端服务器,提交程序运行截图 实现GET即可,请求,响应要符合HTTP协议规范 ...

  10. Spring 常见问题 - 2

    1. @Component, @Controller, @Repository, @Service 有何区别? @Component:这将 java 类标记为 bean.它是任何 Spring 管理组 ...