位置: 编程技术 - 正文

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实战教程)

  • 个税手续费返还要交企业所得税吗
  • 结算备付金会计分录
  • 印花税按照开票金额缴纳可以吗
  • 销货清单和送货单的区别
  • 天猫国际的店铺是正品吗 感觉很便宜
  • 出售报废固定资产属于什么收入
  • 收到违约金如何入账
  • 航空货运单可以由谁来填写
  • 对外贸易出口公司
  • 补发以前年度工资如何计税
  • 新会计准则短期租赁会计分录
  • 专用发票红冲后可以退税吗?
  • 工资3500该不该辞职
  • 电子发票详见清单怎么开
  • 6位数开票代码
  • 用友填制凭证外币科目没弹出
  • 非流动资产基金是什么意思
  • 开票3个点13个点是什么意思
  • 房地产公司基础设施建设费包括哪些费用
  • 自产农产品销售怎么做账
  • 建筑企业预收的工程款会计分录
  • 自己开电子发票要什么软件
  • 有哪些凭证
  • 租赁公司车转个人有报废年限吗?
  • php怎么连接服务器
  • 系统之家有没有官网
  • searchnav.exe - searchnav是什么进程 有什么用
  • 食品类发票入账属于什么科目
  • 苹果发布macOS13.5开发者预览版
  • 第4章 数据处理思维导图
  • 销售旧固定资产开票税目是什么
  • 最新大麦抢票脚本
  • centos配置php环境
  • 2021前端热门技术解读
  • 说好的运费少给怎么办
  • 个人独资企业所得税弥补亏损
  • 企业计提养老保险分录
  • 增值税发票认证在哪里
  • 金融资产发生的相关费用计入初始入账金额有那些
  • 商品流通企业采用售价法核算条件下
  • phpcms v9网页禁止复制
  • 水利建设基金申报
  • sqlserver时间戳数据更新时也修改默认时间
  • sqlserver2005安装后怎么打开
  • 库存现金的使用限额规定
  • 报废车怎么处理最划算
  • 销售返利及发票开具如何进行会计处理?
  • 捐赠 赞助 区别
  • 应收账款计提坏账影响利润吗
  • 收到上个月退税会计分录
  • 根据银行流水如何计算成本
  • 多缴所得税返还会计分录
  • 购买办公室家具
  • 应当设置会计机构的单位有
  • SQL入侵恢复xp_cmdshell方法总结
  • mysql复制命令
  • hyper-v虚拟机无法初始化
  • windows内存诊断是干什么的
  • 安装软件提示windows 无法访问指定设备,路径或文件
  • rhel7.2安装
  • solaris ip配置
  • ubuntu 16.04 u盘安装
  • win8无法完成更新正在撤销更改怎么办
  • win10蓝屏出现错误
  • yum命令作用
  • linux防御
  • win8任务管理器未响应怎么解决
  • jquery 动态添加列表元素
  • jquery layer
  • jquery动态设置css
  • javascriptcsdn
  • linux读出文件
  • 批处理set命令
  • HttpURLConnection的流式输出的缺陷和解决方法
  • javascript面向对象编程
  • jquery限制字符长度
  • 浙江国家税务局电子税务局官网入口
  • 税控盘税务数字书驱动找不到应用程序是咋回事
  • 山东省国税地税体制改革
  • 保险机构如何代收车船税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设