Ip2region - 准确率99.9%的离线IP地址定位库
Ip2region体积小,包含了全部的IP,生成的数据库文件ip2region.db只有几MB,最小的版本只有1.5MB,随着数据的详细度增加数据库的大小也慢慢增大,目前还没超过8MB。
Ip2region查询速度快,全部的查询客户端单次查询都在0.x毫秒级别,内置了三种查询算法:
memory算法:整个数据库全部载入内存,单次查询都在0.1x毫秒内,C语言的客户端单次查询在0.00x毫秒级别。
binary算法:基于二分查找,基于ip2region.db文件,不需要载入内存,单次查询在0.x毫秒级别。
b-tree算法:基于btree算法,基于ip2region.db文件,不需要载入内存,单词查询在0.x毫秒级别,比binary算法更快。
其中,任何客户端的b-tree都比binary算法快,而memory算法总是最快的。
Ip2region提供了多查询客户端的支持,已经集成的客户端有:java、C#、php、c、python、nodejs、php 扩展 (php5和php7)、golang、rust、lua、lua_c, nginx 等等:
我们以nodejs为例,首先安装:
npm install node-ip2region --save
在代码中使用:
const searcher = require('node-ip2region').create();
console.log(searcher.btreeSearchSync('112.11.2.12'))
//{ city: 1170, region: '中国|0|浙江省|嘉兴市|移动' }
网友回复
js如何流式输出ai的回答并折叠代码块,点击代码块右侧可预览代码?
ai大模型如何将文章转换成可视化一目了然的图片流程图图表?
大模型生成html版本的ui原型图和ppt演示文档的系统提示词怎么写?
rtsp视频直播流如何转换成websocket流在h5页面上观看?
为啥coze会开源工作流agent coze studio?
如何检测网页是通过收藏夹打开的?
python如何实现类似php的http动态脚本请求处理响应代码?
js如何实现类似php的http动态脚本请求处理响应代码?
trae与solo有啥区别不同?
vue如何让ai动态生成问卷调查多步骤表单式收集基础信息自动规划执行任务?