初识Node.js

  国庆一直惦记着要找本书看看,假期之前去了趟图书馆,因为假期会有很多事,估计能看书的时间也就很短,充其量回去的车上可以看看,然后回来时候如果堵车也可以拿出来看看,而且要携带方便,所以最后选中了这本很薄的书【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 退出当前编辑

 

  

posted @ 2015-10-06 11:41  有梦想的小人物  阅读(791)  评论(0编辑  收藏  举报