node.js学习随笔——20170809
来源:互联网 发布:mac 播放器 mplayerx 编辑:程序博客网 时间:2024/05/22 08:08
PHP是单线程的,但是Apache是多线程的,会开启150个线程
大数据时,如何解决高并发
让一个线程更快的结束。
可通过后弦的方法:优化SQL 、主键、缓存
一、node.js特点:
1、单线程、异步、事件驱动;快、耗内存多
2、事件驱动:因为异步,所示事件结束后,回调方法
3、node.js对于Windows,只支持win8及其以上
二、在node.js导入文件中,路径中不能有汉字,否则报 Error: Cannot find module 'xxx.js'
这时将路径中的汉字改为英文,则错误消失
三、node.js本身自带的类
四、node.js读写文件
node.js读写文件需要先导入读写的类,如下所示:
var file=require("fs");
文件读写各自分为同步和异步,即一共四种操作。
1、同步读
因为node.js是单线程异步的,因此若要在页面上显示文件内容或状态信息,需要使用闭包,否则服务会提前关闭。
五、在node.js中的路径中,'./'为当前目录下,'../'为上一目录下
node.js中路径的使用分如下两种情况:
1、在使用 require() 导入类时
路径为相对于当前文件的路径
该文件B为根文件A中导入的,但在该文件B导入另外的文件C时,路径为C相对于B的
2、在引入资源时(资源为.html或图片等文件)
路径为相对于根文件的路径
文件B为根文件A中导入的,但在该文件B导入资源文件C时,路径为C相对于根文件A的
六、node.js在输出时,无论是 response.write() 输出到页面中,还是 console.log() 输出到控制台,都需要将信息转化为字符串,如 console.log(err.toString()); 因为初始数据是二进制形式的,而这种形式无法输出。
大数据时,如何解决高并发
让一个线程更快的结束。
可通过后弦的方法:优化SQL 、主键、缓存
一、node.js特点:
1、单线程、异步、事件驱动;快、耗内存多
2、事件驱动:因为异步,所示事件结束后,回调方法
3、node.js对于Windows,只支持win8及其以上
二、在node.js导入文件中,路径中不能有汉字,否则报 Error: Cannot find module 'xxx.js'
这时将路径中的汉字改为英文,则错误消失
三、node.js本身自带的类
1、var http=require('http'); //声明一个http服务2、var URL=require('url'); //对浏览器地址进行截取,提供操作APIvar url=URL.parse(request.url).pathname;3、var fs=require('fs'); //可对文件进行操作的类var data1=fs.readFileSync(path,'utf-8'); //该方法进行同步读取var data2=fs.readFile(path,function(err,data){ if(err){ console.log(err); }else{ console.log(data.toString()); }});
四、node.js读写文件
node.js读写文件需要先导入读写的类,如下所示:
var file=require("fs");
文件读写各自分为同步和异步,即一共四种操作。
1、同步读
module.exports={ 'readSync':function(path,res){ //res为传来的response对象 var message=file.readFileSync(path,'utf-8'); res.write("读取的内容为:"+message); }};2、同步写
module.exports={ 'writeSync':function(path,data,res){ //data为要写入的数据 file.writeFileSync(path,data); res.write("同步写操作成功"); }};3、异步读
因为node.js是单线程异步的,因此若要在页面上显示文件内容或状态信息,需要使用闭包,否则服务会提前关闭。
module.exports={ 'readFileAsync':function(path,recall){ file.readFile(path,function(err,data){ if(err){ recall(err); }else{ recall(data); } }); }};//recall是调用者传来的闭包函数,函数体如下所示:function recall(data){ response.write(data); response.end("");}4、异步写
module.exports={ 'writeFileAsync':function(path,data,recall){ file.writeFile(path,data,function(err){ if(err){ recall(err); }else{ recall('异步写操作成功'); } }); }};备注:经测试,上面每种读写方法内都可以使用回调函数。
五、在node.js中的路径中,'./'为当前目录下,'../'为上一目录下
node.js中路径的使用分如下两种情况:
1、在使用 require() 导入类时
路径为相对于当前文件的路径
该文件B为根文件A中导入的,但在该文件B导入另外的文件C时,路径为C相对于B的
2、在引入资源时(资源为.html或图片等文件)
路径为相对于根文件的路径
文件B为根文件A中导入的,但在该文件B导入资源文件C时,路径为C相对于根文件A的
六、node.js在输出时,无论是 response.write() 输出到页面中,还是 console.log() 输出到控制台,都需要将信息转化为字符串,如 console.log(err.toString()); 因为初始数据是二进制形式的,而这种形式无法输出。
阅读全文
0 0
- node.js学习随笔——20170809
- Node.js 学习随笔
- node.js学习随笔
- Node.Js 学习随笔2
- Node.js学习随笔(1)
- node.js学习随笔20170817
- node.js学习笔记(—)
- node.js学习笔记1——node.js是什么
- node.js 学习笔记——node.js 环境配置
- node.js随笔1-初识node.js
- Node.js学习笔记(一)—— Node基础
- Node学习课程(1)——安装node.js
- Node 学习笔记—Node.js 核心 API 之 Util
- 学习笔记——node.js
- Node.js 学习笔记 —— 概述
- 学习node.js(二)—— Buffer
- Node.js——初识Node.js
- Node.js知识学习之——Node.js and MongoDB – Getting started with MongoJS
- 网络中超时接收的函数之一 select
- hdu6090
- JS刷新当前页面的几种方法总结
- 累加器的方差(algs4)
- hdu6092 Rikka with Subset
- node.js学习随笔——20170809
- Linux学习---1
- 虚拟币ico以及数字货币交易平台开发的利润究竟有多大?
- HDOJ 1232-畅通工程
- HTML&CSS基础篇之十一:字体与颜色样式
- Property "属性名" not found on object of type "类名"
- Python3 MySQL 数据库连接
- html5 video视频标签自适应手机样式
- python各个平台zbar安装