【golang】海量数据去重-布隆过滤器
在做域名爆破中,遇到了把一个300G的子域名json文件进行去重,一开始是考虑使用字典进行去重,但是数据量大了,会造成内存泄露。看网上资料介绍了一种方案,就是使用布隆过滤器。
10年积累的成都网站设计、做网站、成都外贸网站建设公司经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站后付款的网站建设流程,更有琅琊免费网站建设让你可以放心的选择与我们合作。
布隆过滤器是一种数据结构,概率型数据结构,特定是高效插入和查询,可以用来告诉你“某一值一定不存在或者kennel存在”。
相比于传统的map、set等数据结构,占用空间更少,但其返回结果是概率型的,不确定。
布隆过滤器内部维护一个bitArray(位数组),开始所有数据为0,当一个元素过来时,能过多个哈希函数(hash1、hash2、hash3)计算不同的hash值,并通过hash值找到bitArray的下标,将里面的值改为由0变为1。布隆过滤器有一个误判率,误判率越低,数组越长,所在空间越大,误判率越高,数组越小,所占空间越小。
这里贴上一个技术大牛的博客地址,里面对布隆过滤器用法以及在redis里面处理缓存穿透问题的详细介绍。
什么是一级域名,什么是二级域名呢?举个例子,谢谢!
网站一级域名和二级域名区别?
几级域名就是看域名后面有几个以"."分隔的后缀。
例如:”fuyeor.com“有一个以"."分隔的后缀,就是一个一级域名。其中 com 是顶级域名,或者叫做根域名、域名后缀。
二级域名就是寄存在主域名之下的域名,是裸域名往左一级的域名。一般来说,二级域名就是 类似 3个w(www)这样的格式。
例如:”www.fuyeor.com“有两个以"."分隔的后缀,就是一个二级域名。
因为 IP 地址是枯燥的长长一大串数字,为了让人容易记住,网站就有了域名,比如:“二级域名.fuyeor.根域名”或者直接是没有二级域的”fuyeor.根域名“。
其中,“二级域名.fuyeor.根域名”里 fuyeor 就是域名的主体;而根域名就是 com、net、cn 这些后缀。
参考资料
二级域(或称二级域名;英语:Second-level domain;英文缩写:SLD)是互联网DNS等级之中,处于顶级域名之下的域。二级域名是以两个以"."分隔的后缀的域名。- 百度百科
域名由两组或两组以上的ASCII或各国语言字符构成,各组字符间由点号分隔开,最右边的字符组称为顶级域名或一级域名、倒数第二组称为二级域名、倒数第三组称为三级域名、以此类推。顶级域名又分为三类:一是国家和地区顶级域名(country code top-level domains,简称ccTLDs)等等。
A NS MX CHIME 分别是什么意思啊?
A记录
QUOTE:
A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设置您域名的子域名。通俗来说A记录就是服务器的IP,域名绑定A记录就是告诉DNS,当你输入域名的时候给你引导向设置在DNS的A记录所对应的服务器
子域名
QUOTE:
子域名道理等同二级域名,不过比二级域名更加延伸,比如我们继续扩展该域名的主机名,设置主机名为bbs.at,那么就可以建立一个三级域名:bbs.at.abc.com,当然也可以建立四级域名bbs.at.go.abc.com,五级域名bbs.at.go.home.abc.com……,依次类推,可以建立无限级别的域名,我们统称这些域名为顶级域名abc.com的子域名。
CNAME别名指向记录
QUOTE:
CNAME (Canonical Name)记录,通常称别名指向。在这里,您可以定义一个主机别名,比如设置ftp.***.com,用来指向一个主机www.***.com,那么以后就可以用FTP.***.com来代替访问www.***.com了。
MX记录
QUOTE:
MX记录也叫做邮件路由记录,用户可以将该域名下的邮件服务器指向到自己的mail server上,然后即可自行操控所有的邮箱设置。您只需在线填写您服务器的IP地址,即可将您域名下的邮件全部转到您自己设定相应的邮件服务器上。
简单的说,通过操作MX记录,您才可以得到以您域名结尾的邮局。
TXT 记录
QUOTE:
TXT 记录,一般指为某个主机名或域名设置的说明,如:
admin IN TXT "管理员, 电话: 13901234567"
mail IN TXT "邮件主机, 存放在xxx , 管理人:AAA"
Jim IN TXT "contact: abc@mailserver.com"
也就是您可以设置 TXT ,以便使别人联系到您
SRV 记录
QUOTE:
SRV 记录:一般是为Microsoft的活动目录设置时的应用。DNS可以独立于活动目录,但是活动目录必须有DNS的帮助才能工作。为了活动目录能够正常的工作,DNS服务器必须支持服务定位(SRV)资源记录,资源记录把服务名字映射为提供服务的服务器名字。活动目录客户和域控制器使用SRV资源记录决定域控制器的IP地址。
此技术细节请参考相应网站
什么叫一级域名,二级域名?有什么不同?
一级域名:
即顶级域名。域名由两个或两个以上的词构成, 中间由点号分隔开。最右边的那个词称为顶级域名。下面是几个常见的顶级域名及其用法:
*.COM--用于商业机构。它是最常见的顶级域名。任何人都可以注册.COM 形式的域名。
*.NET--最初是用于网络组织,例如因特网服务商和维修商。现在任何人都可以注册以.NET结尾的域名。
*.ORG--是为各种组织包括非盈利组织而定的。现在,任何人都可以注册以.ORG 结尾的域名。
以国家代码划分的顶级域名:
由两个字母组成的顶级域名。如.cn, .uk, .de和.jp称为国家代码顶级域名(ccTLDs), 其中.cn是中国专用的顶级域名, 其注册归CNNIC管理, 以.cn结尾的二级域名我们简称为国内域名。注册国家代码顶级域名下的二级域名的规则和政策与不同的国家的政策有关。您在注册时应咨询域名注册机构, 问清相关的注册条件及与注册相关的条款。某些域名注册商除了提供以.com, .net和.org结尾的域名的注册服务之外, 还提供国家代码顶级域名的注册。ICANN并没有特别授权注册商提供国家代码顶级域名的注册服务。
二级域名:
即顶级域名的下一级,就是我们所说的二级域名。domainpeople.com,域名注册人在以.com结尾的顶级域名中,提供一个二级域名。域名形式也可能是something.domainpeople.com。在这种情况下,something 称为主名或分域名。
而如今我们通常这样理解:
一级域名:
一个域名由两个词段构成就是一级域名。
二级域名:
一个域名由三个词段构成就是二级域名。
如:
baidu.com 一级域名
zhidao.baidu.com二级域名
baike.baidu.com二级域名
(严格说,www开头的也是二级域名)
如果您注册的域名是abc.com,那么他是由一个字符串加一个域名尾,中间用.号隔开。这就是一个顶级域名,如果在顶级域名前在由.隔开加上不同的字符,比如bbs.abc.com,那么我们就说bbs是顶级域名abc.com的一个主机名,bbs.abc.com就是一个二级域名。
三级域名:bbs.at.abc.com,当然也可以建立四级域名bbs.at.go.abc.com,五级域名bbs.at.go.home.abc.com……,依次类推,可以建立无限级别的域名,我们统称这些域名为顶级域名abc.com的子域名。
友情提示:
注册一级域名后,二级、三级、....无限级别域名在一级域名注册后的域名管理注册本域名下的DNS(添加DNS名字及IP地址即可),并且都是免费注册的。
比如hi.baidu.com 这个域名 你设置的 曾埋玉 这就不叫二级域名 叫hi.baidu.com域名下的子目录.
分享标题:go语言子域名 子域名的作用
本文路径:http://lswzjz.com/article/doesjsp.html