当前位置: 首页 > news >正文

网站界面设计实训总结海口seo推广公司

网站界面设计实训总结,海口seo推广公司,上海外贸网站google建站,建站神器Why I Need Node.JS Stream 如果你的程序收到以下错误,或者需要大容量写入很多内容(几十几百MB甚至GB级别),则必须使用Stream文件流甚至更高级的技术。 Error: EMFILE, too many open files 业务场景,我们有一个IntradayMissingRecord的补…

Why I Need Node.JS Stream

如果你的程序收到以下错误,或者需要大容量写入很多内容(几十几百MB甚至GB级别),则必须使用Stream文件流甚至更高级的技术。

Error: EMFILE, too many open files

业务场景,我们有一个IntradayMissingRecord的补全功能,每天大概是80-100W级别,如果需要在几分钟内把这么多记录写入到文件,需要根据某incremental逻辑去加载当天/当时间段所有记录,并且遍历并写入到一个文件中,这个时候createWriteStream可以更好的优化。

而且个人更推荐设置autoClose:true的设置,那么文件流系统会自动在内容写入之后和退出方法之后进行关闭。

What's Node.JS Stream?

首先,Stream (流,通常指文件流)是一个抽象接口,Node 中有很多对象实现了这个接口。例如,对http 服务器发起请求的request 对象就是一个 Stream,还有stdout(标准输出)。

Node.js,Stream 有四种流类型:

  • Readable - 可读操作。

  • Writable - 可写操作。

  • Duplex - 可读可写操作.

  • Transform - 操作被写入数据,然后读出结果。

所有的 Stream 对象都是 EventEmitter 的实例。常用的事件有:

  • data - 当有数据可读时触发。

  • end - 没有更多的数据可读时触发。

  • error - 在接收和写入过程中发生错误时触发。

  • finish - 所有数据已被写入到底层系统时触发。

CreateWriteStream Parameter

/*
@params:path指定文件的路径
@params:options可选,是一个JS对象,可以指定一些选项如:
let option={
              flags: 'w',//指定用什么模式打开文件,’w’代表写,’r’代表读,类似的还有’r+’、’w+’、’a’等
              encoding: 'utf8',//指定打开文件时使用编码格式,默认就是“utf8”,你还可以为它指定”ascii”或”base64”
              fd: null,//fd属性默认为null,当你指定了这个属性时,createReadableStream会根据传入的fd创建一个流,忽略path。另外你要是想读取一个文件的特定区域,可以配置start、end属性,指定起始和结束(包含在内)的字节偏移
              mode: 0666,//通常不建议修改
              autoClose: true//autoClose属性为true(默认行为)时,当发生错误或文件读取结束时会自动关闭文件描述符
          }

Show Me The Code

const fs = require('fs')//by zhengkai.blog.csdn.net
async function main() {let datax = "XXXX"const writeStreamFile = fs.createWriteStream('stream.txt', {flags: 'w',encoding:'utf-8',autoClose:true});//write first linewriteStreamFile.write(datax);datax=""for (let index = 0; index < 100000; index++) {datax=index+"___"writeStreamFile.write(datax);}}try {main()} catch (err) {console.error('###### global err', err)}

Result

http://www.yayakq.cn/news/905504/

相关文章:

  • 网站建设推广型信阳 网站建设
  • 陵水网站建设价格我要装修
  • 主流的网站建设软件创建wordpress主题
  • 要找人做公司网站应该怎么做建立企业网站需要什么
  • 内衣网站建设推广有没有做网站的软件
  • 邢台企业网站建设服务承德市网站开发
  • 北京建设教育网站网站怎样建立数据库连接
  • 中科诚建建设工程有限公司网站专业网站建设商城价格
  • 内部网站 备案网站找哪家做较好
  • dw软件做的东西怎么在网站用vi设计收费标准
  • 商城网站标题大连开发区天气
  • 如何注销网站域名福建自己建设网站
  • 做网站不给提供ftp竞价推广年终总结
  • 欧美做电影 迅雷下载网站wordpress调用文章调节每页数量
  • 如何做网站推广广告哪个网站做推广好
  • 太原云建站模板做网站都要多少钱
  • 网站建设与管理2018北京科技公司排名
  • 网站怎么快速做排名简单网站开发项目实例
  • 高端网站开发哪家专业专门做中式装修的网站
  • 做网站要用什么编程语言网站建设的简洁性
  • 高培淇自己做的网站网站pv访问量统计怎么做
  • 网站制作公司技术部门推广项目的平台
  • 注册了域名怎样做网站自己做网站可以赚钱么
  • 临沂网站建设电话国外科技感强的网站
  • 做网站交互demo工具网站进不去怎么解决
  • 学校网站免费建设松江新城做网站
  • 自做淘宝客网站西安公司网站如何建设
  • wordpress网站使用教程网站优化外包找谁
  • 高端网站建设的小知识深圳外文网站制作
  • 北京国互网网站建设电话wordpress转发得红包