域名解析(DNS)缓存是什么?

域名解析缓存又名DNS缓存,常见表现名称是TTL:(TimeToLive)生存时间,就是域名解析记录在DNS服务器中的存留有效时间。

当各地的DNS服务器接受到解析请求时,就会向域名指定的NS服务器(权威域名服务器)发出解析请求从而获得解析记录;在获得这个记录之后,记录会在DNS服务器(各地的缓存服务器,也叫递归域名服务器)中保存一段时间,这段时间内如果再接到这个域名的解析请求,DNS服务器将不再向NS服务器发出请求,而是直接返回刚才获得的记录;而这个记录在DNS服务器上保留的时间,就是TTL值。

TTL缓存

如上图所示,在命令行模式下,通过ping命令向百度的域名发起ping请求,在返回的数据结果中最后一段就是这次请求的域名解析TTL缓存时间.

很多刚开始做站的朋友,由于测试或者其他原因,平时经常要更换服务器,或者换个DNS解析商,那就很有必要了解下,域名dns缓存时间的存在和影响。避免在迁移域名,迁移网站的时候由于一些错误的操作,导致出现解析问题。

人们通过互联网访问你的网站时,会通过域名寻址,访问你的域名服务商的DNS服务器,获得你指定的IP地址。然后成功登陆你的网站。

但是并不是每次访问你的网站,都会去你的服务商DNS服务器查询IP地址。通常你所在的城市ISP(网络服务提供商)都会有一个DNS服务器,他会在你第一次访问时缓存你的域名指向。下次你再访问时,他会从缓存里把你曾经指向的IP调出来。

这个时候,问题就来了。如果你在服务商后台重新指向了一个新的IP。而各个城市的DNS服务器并不知情,那么用户访问你的网站时,还会访问到过去的老IP,导致网站无法打开。通常各地的DNS服务器,会在一段时间内重新寻址,定位你的新IP地址。

可惜的是,各地DNS刷新的时间都是不一定的,有的快,有得慢。当然,如果服务商的DNS服务器不好,无法提供及时的同步,也会导致域名无法解析到新的IP地址。

就域名普通解析操作来说,在你域名DNS服务器比较正常的话,添加新的解析记录,是立马生效的,没有缓存时间的。修改解析记录,一般可认为修改记录后生效时间为你域名记录之前设置的TTL时间,建议600以上,不宜过长,也不易过短,过长会导致域名解析生效时间长,过短会加重DNS负担,致使解析不稳定,因此许多地区的网络运营商会默认为请求解析的域名加上一定的缓存时间。

但各地ISP运营商的DNS缓存时间过长,那么新添加的解析记录生效就需要等待很长时间,在DNS缓存消失之前,用户请求得到的结果依然是之前的解析记录,如果某网站因遭遇攻击或者故障原因需要更改原有解析记录,那么此时在运营商的DNS缓存势必影响到了正确地址的请求,因此对于网站主而言如何有效解决DNS缓存的问题就显得十分必要。

如何清除DNS缓存?

 

DNS缓存与DNS云加速

怎么才能够有效解决运营商DNS缓存的问题?运营商在我国大大小小有很多家,并且普通用户的诉求是很难得到有效解决,但前段时间国内一家DNS解析服务商-DNS.COM推出了一个名为DNS云加速的产品,经过多位网友亲测之后发现,通过该产品对DNS缓存的加速后,解析响应速度及缓存时间有一个直观的对比提升。

同时,在这里也要提醒大家一下,在修改域名DNS服务商的时候,域名旧控制面板上的各项解析记录不要立即删除,以保证新旧DNS交替的时候保证域名解析的平衡过渡,不会中断解析。但对于旧域名DNS必须全部删除,以免发生解析混乱的现象。

另外,这里顺便提一个生活小贴士:

清理本地缓存的快捷方法,Win+R快捷键—>输入:cmd—>输入:ipconfig/flushdns—>回车。

https://baijiahao.baidu.com/s?id=1567586844492082&wfr=spider&for=pc

================================补充======================================================

刷新本地DNS缓存的方法

常有人问到域名解析了不是即时生效的嘛,怎么还是原来的呢?答案就是在本地DNS有解析缓存,电脑第一次访问后,在一定的时间内就将其缓存下来,下

次访问该域名时电脑通过查找本地DNS缓存,就可以直接知道IP了,而不用再进行域名解析了,这就提高了效率,这就是DNS缓存,而域名更改过解析后,虽
然DNS服务器上已经更新,但本地还有DNS缓存,造成还是老的IP,可以通过下面的方法来解决:

刷新DNS缓存的方法一:(亲测可行20181214)

首先进入命令提示符下(开始——运行——cmd);()

先运行:ipconfig /displaydns这个命令,查看一下本机已经缓存了那些的dns信息的,然后输入下面的命令

ipconfig /flushdns

这时本机的dns缓存信息已经清空了,我们可以再次输入第一次输入的命令来看一下,

ipconfig /displaydns

刷新DNS缓存的方法二:

直接禁用网卡再启用网卡,这样也可以

学习查看域名ns解析,发现一个简单的命令即可解决,当然首先 要确认你的网络正常。

步骤:

开始--运行,输入cmd,然后键入以下命令,如

nslookup -q=ns baidu.com

或者

nslookup -qt=ns baidu.com

注意:域名这里要输入根域名,而不是二级域名。

以下是查看百度的域名dns信息:

baidu.com       nameserver =
ns3.baidu.com
baidu.com       nameserver = ns2.baidu.com
baidu.com       nameserver = ns4.baidu.com

出自:http://www.cnblogs.com/rubylouvre/archive/2012/08/31/2665859.html

域名解析的DNS缓存如何清理的更多相关文章

  1. 更新域名解析以后,IP在cmd中ping不正确,清理DNS缓存

    1清除ARP缓存,cmd下使用命令arp -d*代替执行. 2清除NETBT,cmd下使用命令nbtstat -R代替执行. 再清除DNS缓存,cmd下使用命令ipconfig /flushdns代替 ...

  2. 如何清除DNS缓存,使用cmd命令清理DNS缓存方法

    如何清除DNS缓存,使用cmd命令清理DNS缓存方法 有时候电脑突然上不了网,或者存在某些网站打不开的情况,但别的网站又可以打开,解决办法需要清除DNS缓存,那么如何清除DNS缓存呢,最常用的方法就是 ...

  3. Linux设置DNS地址及清理DNS缓存方法

    1.设置DNS地址 编辑vim /etc/resolv.conf 文件. 增加DNS地址:nameserver ip. 2.清理DNS缓存 清理dns缓存: 通过重启nscd服务来达到清理dns缓存的 ...

  4. 清理dns缓存

    dns缓存是什么? DNS缓存指DNS返回了正确的IP之后,系统就会将这个结果临时储存起来.并且它会为缓存设定一个失效时间 (例如N小时),在这N小时之内,当你再次访问这个网站时,系统就会直接从你电脑 ...

  5. 好系统重装助手教你清理win7系统中DNS缓存

    在我们使用电脑的过程中,有时候一个经常用的网页突然打不开了,遇到这种情况,清理一下DNS缓存就可以解决了.如何清理DNS缓存?小编这就给大家说一种最简单的方法. 1.组合键:win+R,输入cmd,点 ...

  6. windows查看与清理dns缓存

    1.windows下在命令行输入  ipconfig /flushdns 清理本地dns缓存查看dns缓存   ipconfig/displaydns2.Mac OSX下在命令行输入  lookupd ...

  7. 什么是域名的TTL值? ——一条域名解析记录在DNS缓存服务器中的存留时间

    什么是域名的TTL值? 转自:http://hizip.net/index.php/archives/20/TTL(Time-To-Live),就是一条域名解析记录在DNS服务器中的存留时间.当各地的 ...

  8. 清理工具CleanMyMac如何帮助用户清空DNS缓存

    什么是DNS缓存?这个缓存有什么危害?相信大家平时使用浏览器时,有时候会遇到一个很奇怪的问题,就是Mac打开许多网站如百度网站,都是可以访问的,但是在打开某个特定网站时,却发现浏览器提示检测不到网络连 ...

  9. 某些浏览器具有dns缓存功能,大家更改域名指向,建议清理下浏览器缓存

    最近遇到一个很郁闷的问题,在我们的的ngnix服务器上原来默认的网址需要更改.更改后,重启了ngnix.可是在客户端使用360浏览器打开网址.地址还是指向旧地址.直接输入服务器 IP地址转向了新地址, ...

随机推荐

  1. MySQL传输表空间使用方法

    1.目标端创建同样的表结构 CREATE TABLE `test` (       `id` int(11) DEFAULT NULL     ) ENGINE=InnoDB DEFAULT CHAR ...

  2. 亚马逊VPS

    添加用户: 第一步 注册亚马逊云(已注册直接进入第二步)1.开始前需要准备好:有外币支付功能的信用卡一张(注册需要,不扣钱).Email地址.电话(手机更方便一些)2.访问 https://amazo ...

  3. Co. - Microsoft - Windows - Tomcat、JDK、MySQL通过 Inno 集成为exe部署包

    需求 客户设备为Windows系统,需要部署公司产品,因此将Tomcat.JDK.MySQL.Java.war 打包整合成exe文件,Windows下一键部署安装. 最佳实践 1.下载免安装的mysq ...

  4. android Service服务简介(一)

    作为android的四大组件之一,服务也少不了很多重要的知识点.下面我们从最基本的开始学习. 1.1服务的创建 首先创建一个ServiceTest类继承Service.我们会重写onCreate(), ...

  5. 3. 进程间通信IPC

    一.概念 IPC: 1)在linux环境中的每个进程各自有不同的用户地址空间.任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程之间是不能相互访问. 2)如果进程间要交换数据必须通过内核,在 ...

  6. 什么是mysql数据库安全 简单又通俗的mysql库安全简介

    首先我们要了解一下什么是mysql数据库,mysql是目前网站以及APP应用上用的较多的一个开源的关系型数据库系统,可以对数据进行保存,分段化的数据保存,也可以对其数据进行检索,查询等功能的数据库. ...

  7. JavaScript之DOM查询

    DOM查询 - 通过具体的元素节点来查询 - 元素.getElementsByTagName() - 通过标签名查询当前元素的指定后代元素,返回数组 - 元素.childNodes - 获取当前元素的 ...

  8. 黑洞数--python

    黑洞数:黑洞数又称陷阱数,是类具有奇特转换特性的整数.任何一个数字不全相同整数,经有限“重排求差”操作,总会得某一个或一些数,这些数即为黑洞数.“重排求差”操作即把组成该数的数字重排后得到的最大数减去 ...

  9. java简单界面实现

    import javax.swing.JFrame; import javax.swing.JPanel; public class DemoFrame extends JFrame{ public ...

  10. socket编程基础1——hostent、in_addr、gethostbyname、inet_ntoa

    1. struct hostent结构体 struct hostent { char *h_name; char **h_aliases; int h_addrtype; int h_length; ...