域名解析(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. poj_1306_Combinations

    Computing the exact number of ways that N things can be taken M at a time can be a great challenge w ...

  2. Mysql8.0 3306端口无法远程连接

    在阿里云上搭建MySql8.0数据库服务,在阿里云上可以成功连接登陆使用,但用自己的电脑远程连接时却无法成功连接 经过资料查找,找出原因如下: 1.首先通过查看MySQL的的用户信息 可以看到host ...

  3. linux命令之文件系统权限操作常用命令

    1.   umask:设置权限掩码 语法:umask [参数] 命令说明:umask可以单独使用,可以设置目录与文件的默认权限,默认权限掩码是022,所以默认目录权限是777-022=755,读权限是 ...

  4. @staticmethod怎么用?

    早上起来写个小demo, 类中写了个方法, pycharm给这个方法加上了莫名其妙的波浪线, 对于一个有代码洁癖的人来说, 完全不能忍, 来看看为什么. 问题重现 pycharm的提示 上面说了, 这 ...

  5. 更新Composer依赖报错处理Fatal error: Declaration of Fxp\Composer\AssetPlugin\Repository\AbstractAssetsRe

    更新Composer依赖报错处理 Fatal error: Declaration of Fxp\Composer\AssetPlugin\Repository\AbstractAssetsRe po ...

  6. PHP令人困惑的strtotime

    经常会有人被strtotime结合-1 month, +1 month, next month的时候搞得很困惑, 然后就会觉得这个函数有点不那么靠谱, 动不动就出问题. 用的时候就会很慌… 比如:今天 ...

  7. laravel -- 路由

    基本路由 Route::get('/get',function (){ return "this is get"; }); Route::post('/post',function ...

  8. JavaSE 第二次学习随笔(二)

    循环结构中的多层嵌套跳出 targeta: for(int i = 0; i < 100; i++){ for (int j = 0; j < 100; j++) { if(i + j = ...

  9. hive-show-partitions

    展示分区命令 show partitions show partitions 可以展示这个表格之下的所有分区信息.这个命令常常用在使用SQL语句操作数据之前.举个简单的例子,如果我们想要根据uid融合 ...

  10. Leecode刷题之旅-C语言/python-83删除排序链表中的重复元素

    /* * @lc app=leetcode.cn id=83 lang=c * * [83] 删除排序链表中的重复元素 * * https://leetcode-cn.com/problems/rem ...