码迷,mamicode.com
首页 > 其他好文 > 详细

Node流操作

时间:2019-11-03 21:51:30      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:数据库   reads   pipe   das   加密   stop   end   flat   cti   

详情:

https://www.cnblogs.com/lalalagq/p/9749680.html

流:读取流,写入流,双向读写流。

读写流——压缩、加密

数据库不能直接接受流

sf.readFile(‘www${pathname}‘,(err,buffer)=>{
 res.write(buffer);
});
1.占用内存;
2.资源使用不均匀


const fs = require(‘fs);
let rs =  fs.createReadStream(‘1.txt‘);
let ws = fs.createWriteStream(‘2.txt‘);

rs.pipe(ws);

rs.on(‘error‘,()=>){
 console.log(err);
})

ws.on(‘finish‘,()=>{
 console.log(‘完成‘);
})

 

Comedy:
读写流——压缩、加密
数据库不能直接接受流

const fs = require(‘fs);
const zilib = require(‘zlib‘);

let rs =  fs.createReadStream(‘1.txt‘);
let gz = zlib.createGzip();
let ws = fs.createWriteStream(‘2.txt.gz‘);

rs.pipe(gz).pipe(ws);

rs.on(‘error‘,()=>){
 console.log(err);
})

ws.on(‘finish‘,()=>{
 console.log(‘完成‘);
})

Comedy:
cosnt http = require(‘http‘);
const zlib = require(‘zlib‘);
const url = require(‘url‘);
const fs = require(‘fs‘);

http.createSever((req,res)=>{
 let {pathname} = url.parse(req.url,true);
let filepath=‘www‘+pathname;

 
fs.stat(filepath,(err,stat)=>{
if(err){
 //res.setHerader(‘content-encoding‘,‘deflate‘);
  res.writeHeader(404);
  res.write(‘NOT FOUND‘);
  res.end();
}else{
 let rs=fs.createReadStream(filepath);
 rs.on(‘error‘,()=>{ });
 res.setHerader(‘content-encoding‘,‘gzip‘);
 let gz = zlib.createGzip();
 rs.pipe(res);

}
});

}).listen(8520);

 

启动器 (forever,pm2......)

forever
npm i forever -g
forever start server.js
终端关了依旧在,会自动启动

forever list 查看运行列表
forever restart server.js 停掉再重开
forever stop server.js 停掉
forever stopall 停掉全部

forever start xxx.js -l c:/a.log -e c:/err.log -a

 

路由router

eg:
‘/login‘ => function(){}
‘/reg‘ => function(){}
‘ *‘ => read

Node流操作

标签:数据库   reads   pipe   das   加密   stop   end   flat   cti   

原文地址:https://www.cnblogs.com/comedy/p/11789286.html

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