最近几天学习了一下nodejs,深感nodejs的强大,nodejs实际上就是运行在服务端的Javascript,如果之前学习过前端,在学习nodejs也可以说事很轻松了,也可以说nodejs就是为前端程序员准备的,可以省时省力的完成后端所要做的事,下面切入正题。nodejs的三大模块:http、url、fshttp、url、fs这三大模块可以说是完成后端工作所必不可少的东西,本文将简单介绍一下h
之前写了个现在看来很不完美的小爬虫,很多地方没有处理好,比如说在知乎点开一个问题的时候,它的所有回答并不是全部加载好了的,当你拉到回答的尾部时,点击加载更多,回答才会再加载一部分,所以说如果直接发送一个问题的请求链接,取得的页面是不完整的。还有就是我们通过访问链接下载图片的时候,是一张一张来下的,如果图片数量太多的话,真的是会下到你睡完觉它还在下。这次的的爬虫是上次那个的升级版,爬虫代码在我的gi
转载 2024-06-11 17:31:20
36阅读
简介Node.js 有多重并发的能力,包括单线程异步、多线程、多进程等,这些能力可以根据业务进行不同选择,帮助提高代码的运行效率。本文希望通过读 p-limit、pm2 和 worker_threads 的一些代码,来了解 Node.js 的并发能力。版本说明Node.js 15.4.0Npm: 7.0.15异步Node.js 最常用的并发手段就是异步,不因为资源的消耗而阻塞程序的执行。什么样的并
转载 2024-07-26 13:00:31
473阅读
1.高并发一般来说,高并发的解决方案就是多线程模型,服务器为每个客户端请求分配一个线程,使用同步I/O,系统通过线程切换来弥补同步I/O调用的时间开销,比如Apache就是这种策略,由于I/O一般都是耗时操作,因此这种策略很难实现高性能,但非常简单,可以实现复杂的交互逻辑。而事实上,大多数网站的服务器端都不会做太多的计算,它们只是接收请求,交给其它服务(比如从数据库读取数据),然后等着结果返回再发
文章目录什么是http模块http模块的作用服务器相关概念IP地址域名和域名器如果要希望使用 http 模块创建 We
原创 2022-08-05 21:20:47
151阅读
Node.js提供了http模块,用于搭建HTTP服务端和客户端。 创建Web服务器 1 /** 2 * node-http 服务端 3 */ 4 let http = require('http'); 5 let url = require('url'); 6 let fs = require('
原创 2022-07-07 21:56:51
191阅读
本文简介 点赞 + 关注 + 收藏 = 学会了 对于前端来说,网络请求主要就是用 ajax 的方式去处理。所以本文也会站在前端角度简单讲解 Node 中如何使用 http 模块。 前后端对接时,现在常用的请求方法有 GET、POST、PUT、PATCH、DELETE。当然,还有其他方法,但本文主要面向新手,希望能做到快速起步。所以本文只讲 GET 和 POST 这两种最最最常用的方法。
原创 2022-07-20 12:56:00
533阅读
HTTP不是基于特定语言的,是一个通用的应用层协议,不同语言有不同的实现细节,但是万变不离其宗,思想是相同的。NodeJS作为一个宿主运行环境,以JavaScript为宿主语言,它也有自己实现的一套标准,本文将详细介绍nodeJS中的Http模块 Agent【new Agent([options])】options <Object> 代理的配置选项。有以下
原创 2017-06-29 13:39:52
617阅读
最近在了解Nodejs,发现其异步操作特点,在解决高并发问题方面,具有优势。 在以往的高并发问题处理中,多线程是重要的解决方式,但这种方式会有一系列问题,比如线程阻塞,虽然可以通过锁的方式来解决,但锁用起来还是比较麻烦的,而采用异步的方式,就显得很方便了。 js的异步核心在于,所有异步操作会被挂起,在执行完同步操作后,再去执行异步操作。 在Node中,异步操作更加常见,也是其核心所在。这里我手写两
本文翻译自:How, in general, does Node.js handle 10,000 concurrent requests?I understand that Node.js uses a single-thread and an event loop to process requests only processing one at a time (which is non-b
Node.js是全球领先的用JavaScript——世界上最流行的编程语言创建服务器应用程序的工具。提供web服务器和应用服务器的功能,Node.js被认为是各种以微服务为基础的开发和交付的关键工具。Node.js可以替代或增强Java和.NET用于后端应用程序的开发。Node.js是单线程的,并且使用非阻塞I / O,允许它扩展并支持数以万计的并行操作。它和NGINX共享这些架构特性,并解决C1
转载 7月前
26阅读
这里说并发异步,并不准确,应该说连续异步。NodeJs单线程异步的特性,直接导致多个异步同时进行时,无法确定最后的执行结果来回调。举个简单的例子:for(var i = 0; i < 5; i++) { fs.readFile('file', 'utf-8', function(error, data){}); }连续发起了5次读文件的异步操作,很简单,那么问题来了,我怎么确定所有异
一直都说nodejs是可以支持高并发的,但是是nodejs不是单进程单线程模式吗?那它的高并发到底是怎么回事呢?nodejs单进程单线程事件驱动Node遵循的是单线程单进程的模式,node的单线程是指js的引擎只有一个实例,且在nodejs的主线程中执行,同时node以事件驱动的方式处理IO等异步操作。node的单线程模式,只维持一个主线程,大大减少了线程间切换的开销,但是会有多个worker线程
httpd: MPM 并发响应模型 prefork(select 1024个并发), worker, event1、穿行响应模型2、多进程模型,主控进程负责接收链接(监听端口),主控进程fork一个子进程进行通信,子进程占用一个句柄。启动的子进程数量有限,fork的进程需要预先提供好,所以叫prefork。3、worker模型,线程模型响应,主控进程fork一个子进程(可以由多个自己进程),子进程
转载 2024-05-06 23:50:23
72阅读
脱离带宽内存与计算量来讨论并发是没有意义的。因为并发数受带宽及其它很多因素影响,不能单就node.js来说并发多高。如果无限带宽,无限计算力,无限存……你可以认为node.js并发数也是无限的,但这没有意义,在同样的情况下,就算是IIS,并发数也可以认为是无限的。node.js的优势严格来说不是并发而是“非阻塞”。它是通过非阻塞来达到高并发的目标的,我们用node.js也是用它的非阻塞这个特点。在
由来为了加快访问速度,浏览器会缓存css、js等资源文件。缓存是一把双刃剑,它提高了访问速度的同时,也给网站升级发布带来一些麻烦,就是资源文件过时的问题。就是说,当我们修改了资源文件时,用户的浏览器却使用了缓存,没有读取最新的资源文件,导致页面出错。(我们程序员知道,这种情况下要强制刷新浏览器、清空缓存,但我们没办法要求网站的用户也都这么做)(下面仅用js文件来说明)为了解决这个问题,有人想到了一
在项目上遇到一个需要对一个接口做200的编发测试,本来享用Postman来进行并发测试但是从网上看到这个工具好像并不具有编发测试的功能。考虑到Node.js天生的异步特性就想到了用Node.js写来进行一个并发的测试。这里考虑到了一个数据多个请求的并发(例如查询),以及每个请求都不同数据。不管是这两种情况的那种,我们的接口数据类型都是相对固定的,所以在下面的代码中的一个思路就是,每次请求体中的
转载 2024-06-29 08:05:38
97阅读
 一、准备数据库表创建商品库存表 db_stock ,插入一条数据DROP TABLE IF EXISTS `db_stock`; CREATE TABLE `db_stock` ( `id` int(11) NOT NULL AUTO_INCREMENT, `goods_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_gene
转载 2024-04-29 21:25:08
51阅读
前言httphttp2模块都是node.js的核心模块,下面分别对这些模块进行分析。http模块–创建http服务器和客户端使用http模块只需要在文件中通过require(“http”) 引入即可。http模块是node.js原生的中最为亮眼的模块。传统的HTTP服务器都会由nginx之类的软件来担任,但是node.js不需要。node.js的http模块本身就可以构建服务器,而且性能非常可靠
转载 2024-07-23 16:39:50
57阅读
http://nodejs.cn/api/http.html#http_http_request_options_callback http://yijiebuyi.com/blog/8221eb14c8482e7efd1868946e99ea7c.html 1、源生 http.request 模块
转载 2018-06-21 09:56:00
380阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5