数据库
数据库,又称为数据管理系统,是处理的数据按照一定的方式储存在一起,能够让多个用户共享、尽可能减小冗余度的数据集合,简而言之可视为电子化的文件柜——存储电子文件的处所。
数据库有:Oracle数据库、ACCESS数据库、SQL数据库、DB2数据库、Sybase、MySQL、MariaDB、VF、SqlServer、SQLite等等。
数据库分类
- 关系型数据库(RDBMS)
关系型数据库建立在关系模型的基础上,SQL就是关系型数据库的查询语言。
- 非关系型数据库(NoSQL)
非关系型数据库,包含了键值型数据库、文档型数据库、搜索引擎、列表存储、图形数据库。
- 键值型数据库(NoSQL)
键值型数据库通过 Key-Valye 方式来存储数据,Key 和 Value 可以是简单对象,也可以是复杂对象。Key 作为唯一的标识符。 比较流行的有 Redis
优点 :查询速度快;
缺点: 无法和关系型数据库一样进行条件过来,如果要进行范围查找,需要遍历所有的键,会消耗大量的计算。
文档型数据库
文档型数据库可以用来管理文档,文档作为处理信息的基本单位,相当于一个文档相当于一个记录,比较常用的有 MonogoDB
更多精彩内容,请微信搜索“前端爱好者
“, 戳我 查看 。‘
NoSQL
什么是NoSQL
对不同于传统的关系型数据库的数据库管理系统的统称。
NoSQL 数据库(意即"不仅仅是SQL")并非表格格式,其存储数据的方式与关系表不同。
NoSQL 数据库的类型因数据模型而异。
主要类型包括文档、键值、宽列和图形。它们提供了灵活的模式,可以随大量数据和高用户负载而轻松扩展。
NoSQL数据库的分类
- 列存储(HBase)
- 文档存储(MongoDB)
- Key-Value存储(Redis)
- 图存储(FlockDB)
- 对象存储(db4o)
- XML存储(BaseX)
为什么要用NoSQL?
- 简单(没有原子性、一致性、隔离性等复杂规范)
- 便于横向扩展
- 适合超大规模数据的存储
- 很灵活地存储复杂结构的数据(Schema Free)
每日一课:02. 说说 Node. js 有哪些全局对象?
JavaScript 中有一个特殊的对象,称为全局对象(Global Object),它及其所有属性都可以在程序的任何地方访问,即全局变量。
在浏览器 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global 对象的属性。
按照 ECMAScript 的定义,满足以下条件的变量是全局变量:
- 在最外层定义的变量;
- 全局对象的属性;
- 隐式定义的变量(未定义直接赋值的变量)。
当你定义一个全局变量时,这个变量同时也会成为全局对象的属性,反之亦然。
需要注 意的是,在 Node.js 中你不可能在最外层定义变量,因为所有用户代码都是属于当前模块的, 而模块本身不是最外层上下文。
注意: 最好不要使用 var 定义变量以避免引入全局变量,因为全局变量会污染命名空间,提高代码的耦合风险。
Node.js v20.2.0 文档:https://nodejs.cn/api/
全局对象
将全局对象分成两类:
- 真正的全局对象
- 模块级别的全局变量
真正的全局对象
- Class:Buffer: 可以处理二进制以及非Unicode编码的数据,
- 官网地址:https://nodejs.cn/api/buffer.html
- process:process 对象提供有关当前 Node.js 进程的信息并对其进行控制。
- 官网地址:https://nodejs.cn/api/process.html
- console:node:console 模块提供了一个简单的调试控制台,类似于网络浏览器提供的 JavaScript 控制台机制。
- 官网地址:https://nodejs.cn/api/console.html#%E6%8E%A7%E5%88%B6%E5%8F%B0
- clearInterval、setInterval:设置定时器与清除定时器
- clearTimeout、setTimeout:设置延时器与清除延时器
- global:全局命名空间对象,墙面讲到的process、console、setTimeout等都有放到global中。
- 官网地址:https://nodejs.cn/api/globals.html
模块级别的全局变量
这些对象在所有模块中都可用。 以下变量可能看起来是全局的,但实际上不是。 它们只存在于模块范围内,见 模块系统文档(https://nodejs.cn/api/globals.html):
- __dirname
- __filename
- exports
- module
- require()
此处列出的对象特定于 Node.js。
参考文档
- https://www.runoob.com/nodejs/nodejs-global-object.html
- https://nodejs.cn/api/
- https://vue3js.cn/interview