位置: 编程技术 - 正文

Nodejs下DNS缓存问题浅析(nodejs ddd)

编辑:rootadmin

推荐整理分享Nodejs下DNS缓存问题浅析(nodejs ddd),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs缓存数据,nodejs cache,nodejs dns,nodelocal dnscache,nodejs 缓存,node dns,nodejs 缓存,nodejs dns,内容如对您有帮助,希望把文章链接给更多的朋友!

无意间看到一个文章,是关于nodejs下发送http请求不会缓存dns结果的。这意味着,如果你基于nodejs写了一个http采集程序,不提供dns缓存则会让每次请求都傻傻的重复解析域名为ip地址。听起来会非常影响性能不是么?

我的项目中,发送http请求并不是使用的node原生的http库,而是依赖一个常用的Request库。我查阅了一下该库的相关文档和github issue,也发现了一些和dns相关的帖子。不过多数说的是,关于dns问题,本身并不是Request库的范畴,而归结于nodejs的内核问题。omg,感觉好深奥啊!

幸好,上面提到的那篇文章中也提出了两个解决方案:

应用级别:dnscache

操作系统级别:Bind, dnsmasq 和 unbound

Nodejs下DNS缓存问题浅析(nodejs ddd)

不论是哪个方案,看起来似乎都很简单,只是安装并初始化即可。但问题是,我们怎么来验证它们真实有效?由于我本地的开发机操作系统环境是win7 bit,所以上文提到的操作系统级别的方案我无法测试。那我们就来看一下应用级别方案到底是否有效吧~~

首先,我们需要让win能追踪dns请求,这里我找到了一个软件,下载后不需要安装直接运行即可。然后,我们还需要一个清除缓存的方法,可以看这里,简单说就是在终端中执行:

工具就准备完毕了,我们创建一个测试脚本:

好的,现在打开DNSQuerySniffer,然后先清理一下本地DNS缓存,一切就绪后执行我们的测试脚本node test.js。你会在DNSQuerySniffer中看到一次DNS请求及其相关信息。在一定的时间间隔内,反复运行我们的测试脚本你会发现并不会再次触发DNS请求,这说明什么?我的win7环境本身就自带操作系统级别的DNS缓存(只是缓存时间很短)。

修改我们的测试脚本如下:

这次我们在执行测试脚本后,快速清空本地DNS缓存(如果你手速不快,可以适当延长setTimeout的触发间隔),你会发现,两秒后的http请求并没有重新查询DNS,这说明什么?很明显,我们的应用自己维护了DNS缓存,所以第二次请求根本就不会关心操作系统本地是否存在对应的DNS缓存记录。

以上所述是小编给大家介绍的Nodejs下DNS缓存问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

Node.js 实现简单小说爬虫实例 最近因为剧荒,老大追了爱奇艺的一部网剧,由丁墨的同名小说《美人为馅》改编,目前已经放出两季,虽然整部剧槽点满满,但是老大看得不亦乐乎

node+experss实现爬取电影天堂爬虫 上周写了一个node+experss的爬虫小入门。今天继续来学习一下,写一个爬虫2.0版本。这次我们不再爬博客园了,咋玩点新的,爬爬电影天堂。因为每个周

Node.js测试中的Mock文件系统详解 Mock文件系统相关的工具包括:Mockfs模块的工具mock-fs。Mockrequire模块的工具mock-require。安装mock-fs和mock-require都是NPM软件包,在项目中可通过npm直接安装:

标签: nodejs ddd

本文链接地址:https://www.jiuchutong.com/biancheng/374087.html 转载请保留说明!

上一篇:Node.js 数据加密传输浅析(nodejs数据加密)

下一篇:Node.js 实现简单小说爬虫实例(nodejs实战教程)

  • php常用数组函数实例小结(php常用数组函数有哪些)

    php常用数组函数实例小结(php常用数组函数有哪些)

  • php强制下载文件函数(php强制下载文件在哪)

    php强制下载文件函数(php强制下载文件在哪)

  • 详解SQL Server的聚焦过滤索引(sql server基本知识)

    SQL Server对创建索引大小有限制,最大是字节,上述直接写的VARCHAR(MAX),所以会出错,切记,切记。

    此时我们在主键上创建非聚集索引,我们在主键RowID上创建一个过滤索引且SomeValue = 'JeffckyWang" class="img-responsive" alt="详解SQL Server的聚焦过滤索引(sql server基本知识)">

    详解SQL Server的聚焦过滤索引(sql server基本知识)

  • win2003 IIS6.0+PHP+MySQL的安?配置

    win2003 IIS6.0+PHP+MySQL的安?配置

  • Windows8全新使用测评 win8上手体验全过程 带你玩转Win8 RP版(图文)(windows8如何使用)

    Windows8全新使用测评 win8上手体验全过程 带你玩转Win8 RP版(图文)(windows8如何使用)

  • 微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析(微信小程序列表显示)

    微信小程序列表渲染功能之列表下拉刷新及上拉加载的实现方法分析(微信小程序列表显示)

  • Python列表删除的三种方法代码分享(python中列表删除)

    Python列表删除的三种方法代码分享(python中列表删除)

  • 山东税务网上申报平台操作员查询
  • 增值税一般纳税人税率是多少?
  • 啥子是增值税
  • 增值税有哪几类
  • 公司汽车上牌费入什么科目
  • 仓库打包用的物品计什么科目
  • 苗木种植发票免增值税吗
  • 服装业增值税专用发票税率
  • 出口企业类别在哪里查
  • 固定资产造成的损失可以税前扣除吗
  • 企业所得税佣金扣除比例
  • 卖下脚料怎么做分录
  • 产品置换广告费
  • 研发新产品成功案例简短
  • 生育津贴个税汇算清缴可以扣除吗
  • 资产负债表和利润表和现金流量表的关系
  • 工程完工进项税税务局不给退,走那个科目销毁
  • 陈列费表格
  • 促销费属于哪个税目
  • 开普票时开票码怎么开
  • 新办企业注册资本和投资总额
  • 开户存入现金计什么科目
  • 土地增值税怎么预交
  • 同一控制下合并日后合并报表的编制
  • 租用服务器会泄漏数据吗
  • 农产品增值税核定扣除管理建议
  • 大专生可以考公务员职位列表
  • 预缴附加税怎么做账
  • 社保费现金收缴管理制度
  • 福利费的进项税怎么做账
  • 预计负债账务处理会计分录
  • 企业季度税如何申报
  • 补交去年的企业所得税怎么做账务处理
  • php变量设置
  • 支付厂房租金计入什么科目
  • 加速折旧法计算公式 CFA
  • vue 右键菜单
  • laravel视频教程
  • 调整以前年度损益调整分录费用调增
  • golang调用python代码
  • thinkphp版本区别
  • cookie什么意思啊
  • 被黑客攻击
  • matching path
  • 慈善组织接受股票捐赠流程
  • 债券发行费用包括
  • 个人重组债务怎么交税
  • 企业所得税季末资产总额
  • 其他应付款需要结转损益吗
  • 房屋拆除的会计分录
  • 销售折让的会计账务处理分录
  • 公司如何注销营业执照
  • vista sp2 旗舰版 key
  • Windows如何自动关机
  • window8系统更新
  • centos7 lo
  • iphone制造成本
  • win7系统360浏览器自动打开怎么关闭
  • centos的防火墙怎么关
  • win10大更新2020
  • thinkpade431升级内存多大好
  • cocos2d-x起点之程序的入口
  • js实例教程
  • nodejs做接口
  • cocos2djs教程
  • linux shell 中 2>&1的含义
  • windows清除远程登录记录
  • Python爬取qq music中的音乐url及批量下载
  • eclipse怎么查看项目的位置
  • 获取intent传递的数据
  • django批量上传图片
  • jquery简单吗
  • 河南省城镇土地使用税优惠政策2020
  • 税务局发涵有几种
  • 大米包装有二道封口线正常吗
  • 什么情况适用简易诉讼程序
  • 税务备案表的有效期
  • 增值税进项税额抵扣凭证
  • 厂房房产税2021年税率
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设