码迷,mamicode.com
首页 > Web开发 > 详细

初识Node.js

时间:2015-10-06 12:45:14      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

  国庆一直惦记着要找本书看看,假期之前去了趟图书馆,因为假期会有很多事,估计能看书的时间也就很短,充其量回去的车上可以看看,然后回来时候如果堵车也可以拿出来看看,而且要携带方便,所以最后选中了这本很薄的书【Node.js开发指南】

  Node.js能做什么

  Node.js为网络而生,使用Node.js能做的远不止开发一个网站那么简单,使用Node.js你可以轻松的开发:

  1:具有复杂逻辑的网站

  2:基于社交网络的大规模Web应用

  3:Web Socket服务器

  4:TCP/UDP套接字应用程序

  5:命令行工具

  6:交互终端程序

  7:带有图形用户界面的本地应用程序

  8:单元测试工具

  9:客户端javascript编译器

  Node.js的好处

  Node.js内建了HTTP服务器,使我们可以轻而易举的实现一个网站和服务器的组合。这个服务器不仅可以用来调试代码,而且它本身可以部署到生产环境,它的性能足以满足要求。 Node.js还可以部署到网络环境下,比如一个命令行工具,还可以调用C++代码,这样可以充分利用已有的函数库,也可以将性能要求非常高的一部分用C++来实现。

  异步式I/O与事件驱动

  Node.js最大的特点是采用异步I/O与事件驱动的架构设计。对于高并发的解决方法,传统的架构是多线程模型,也就是为每一个业务逻辑提供一个系统线程,通过系统线程切换来弥补同步式I/O调用时的时间开销。Node.js是单线程模型,对于所有I/O都采用异步的请求方式,为了避免频繁的上下文切换,Node.js在执行过程中会维护一个事件队列,程序在进入事件循环等下下一个事件到来,每隔异步I/O请求完成后会被推送到事件队列,等待程序进程进行处理。

  传统模式

  res = db.query(‘ select * from table ‘);

  res.output();

  这种模式在第一步query查询的时候会造成线程阻塞,等待数据库返回,然后才能执行下一步。

  使用Node.js实现

  db.query(‘select * from table‘,function(res){

    res.output();  

  })

  这组代码中, db.query的第二个参数是一个函数,我们称为回调函数,不会等待查询结果返回,而是继续执行下一个方法,直到进入事件循环,当数据库结果返回时候会将事件发送到事件队列。

  安装配置

  出于学习的目的,直接下载一个客户端,你只需要访问 http://nodejs.org然后选在windows Installer就Ok了。然后就是直接下一步下一步了。

  第一个Hello Node.js

  技术分享

  按 ctrl+c 退出当前编辑

 

  

初识Node.js

标签:

原文地址:http://www.cnblogs.com/LIANQQ/p/4856900.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!