大家好,我是为宽广程序员兄弟操碎了心的小编,每天举荐一个小工具 / 源码,装满你的收藏夹,每天分享一个小技巧,让你轻松节俭开发效率,实现不加班不熬夜不掉头发,是我的指标!
咱们程序员开发任何零碎,基本上都须要查问 IP 地址,比方操作日志、登录 IP 等等。明天小编举荐一款 Ip 地址库,准确率 99.9% 的离线 IP 地址定位库,0.0x 毫秒级查问,这个库数据库只有数 MB,提供了 java,php,c,python,nodejs,golang,c# 等查问绑定和 Binary,B 树, 内存三种查问算法。
开源协定
应用 Apache-2.0 开源许可协定
链接地址
公众号【Github 导航站】回复关键词【ip2】获取 git 地址
99.9% 准确率
数据聚合了一些出名 ip 到地名查问提供商的数据,这些是他们官网的的准确率,经测试着实比经典的纯洁 IP 定位精确一些。
本库数据聚合自以下服务商的凋谢 API 或者数据 (降级程序每秒申请次数 2 到 4 次):
- 01, >80%, 淘宝 IP 地址库
- 02, ≈10%, GeoIP
- 03, ≈2%, 纯洁 IP 库
备注: 如果上述凋谢 API 或者数据都不给凋谢数据时,该库将进行数据的更新服务。
标准化的数据格式
每条 ip 数据段都固定了格局:
_城市 Id| 国家 | 区域 | 省份 | 城市 |ISP_
只有中国的数据准确到了城市,其余国家有局部数据只能定位到国家,后前的选项全副是 0,曾经蕴含了全副你能查到的大大小小的国家(请疏忽后面的城市 Id,集体我的项目需要)。
体积小
蕴含了全副的 IP,生成的数据库文件只有几 MB,最小的版本只有 1.5MB,随着数据的具体度减少数据库的大小也缓缓增大,目前还没超过 8MB。
查问速度快
全副的查问客户端单次查问都在 0.x 毫秒级别,内置了三种查问算法
- memory 算法:整个数据库全副载入内存,单次查问都在 0.1x 毫秒内,C 语言的客户端单次查问在 0.00x 毫秒级别。
- binary 算法:基于二分查找,不须要载入内存,单次查问在 0.x 毫秒级别。
- b-tree 算法:基于 btree 算法,不须要载入内存,单词查问在 0.x 毫秒级别,比 binary 算法更快。
任何客户端 b -tree 都比 binary 算法快,当然 memory 算法诚然是最快的!
多查问客户端的反对
曾经集成的客户端有:java、C#、php、c、python、nodejs、php 扩大 (php5 和 php7)、golang、rust、lua、lua_c, nginx。
结尾
本期就分享到这里,我是小编南风吹,专一分享好玩乏味、离奇、实用的开源我的项目及开发者工具、学习资源!心愿能与大家独特学习交换,欢送关注我的公众号 【Github 导航站】。