nodejs

目录:
基础知识
数据流与文件系统
网络处理
进程处理
错误与调试
其他
数据库处理

适合node的场景1)对高并发有要求 2)对计算要求不高

为什么?

  1. 传统服务端语言如java php是多线程,会为每个连接创建一个线程(平均每个线程消耗2M),因此资源相同node可以连接更多用户。另外,多线程意为着处理结果需要共享,比如同一个用户使用多个端在不同线程上,一个线程发生变化另一个线程需要共享这种处理结果。
  2. 非阻塞I/O 这里主要指与数据库交互,其他语言是阻塞型,执行效率更高
  3. 事件循环 其实就是将各种操作作为事件处理

模块

nodejs会提供核心的模块,使得js脚本能胜任服务端的工作,有些模块是内置的有些则需要安装依赖(弄过分模块就明白这样做的好处)

模块名 作用 稳定程度
File System 文件系统 用于操作文件及文件系统 稳定(3)
Path 路径 用于处理文件路径 稳定(3)
ZLIB 压缩 使用zlib类库实现数据的压缩及解压 稳定(3)
Crypto 加密 实现数据的加密解码处理 不稳定(2)
Stream 流 用于为流输入/输出处理提供一个基础类 不稳定(2)
Buffer 二进制流处理 用于实现二进制流的存储与转换 稳定(3)
Readline 逐行读取 用于读取一行标准输入流 不稳定(2)
Punycode 编码与解码 用于实现punycode字符串的编码与解码 不稳定(2)
String Decoder 字符串解码器 用于实现从二进制数据到字符串数据之间的转换 稳定(3)
Net 网络 用于创建tcp服务器与客户端 稳定(3)
DNS 域名服务器 用于实现与DNS相关的处理 稳定(3)
HTTP 用于实现HTTP服务器与客户端 稳定(3)
HTTPS 用于实现HTTPS服务器与客户端 稳定(3)
TLS 安全传输层 用于OpenSSL来实现TSL/SSL通信处理 稳定(3)
Domain 域 用于实现多个I/O之间的协作处理 不稳定(2)
UDP/Datagram 数据报 用于实现socket 稳定(3)
URL 用于实现URL字符串解析与格式化 稳定(3)
Query Strings 查询字符串 用于处理http请求中的查询字段 稳定(3)
OS 操作系统 用于获取操作系统信息 非常稳定(4)
TTY 终端 用于获取来自TTY终端信息 不稳定(2)
REPL 交互式辨析器 用于实现REPL交互式运行环境
CLI 命令行选项 用于实现命令行集成 稳定(3)
Console 控制台 用于为控制台输出信息 非常稳定(4)
Debugger 调试器 用于实现内置调试器 稳定(3)
Error 错误 错误对象 非常稳定(4)
Assert 断言 为应用程序的单元测试提供断言处理 特别稳定(5)
VM 虚拟机 用于为js提供一个独立运行环境 不稳定(2)
V8 用于实现js脚本解释引擎 稳定(3)
C/C++ 插件 用于事件c与c++拓展
Global 全局 用于提供全局对象
Modules 模块 用于提供模块化 稳定(3)
Events 事件 用于为事件处理提供一个基础类 非常稳定(4)
Cluster 集群 用于实现多进程 稳定(3)
child Processes 子进程 用于实现子进程的创建与管理 稳定(3)
Process 进程 用于实现进程管理 稳定(3)
Timer 定时器 用于实现定时器 稳定(3)
Util 实用工具 用于实现各种实用函数 特别稳定(5)

results matching ""

    No results matching ""