Ip2region 3.6.0 发布 - Javascript 扩展添加了 IPv6 的支持

ip2region 3.6.0 发布 - javascript 扩展添加了 ipv6 的支持

Ip2region 3.6.0 发布 - Javascript 扩展添加了 IPv6 的支持

Ip2region 是一个高效的离线 IP 地址定位库与数据管理框架,全面支持 IPv4 和 IPv6 协议,具备亿级 IP 数据的处理能力,查询性能可达 10 微秒级别。项目提供了多种主流编程语言对 xdb 格式数据文件的读取与生成实现,广泛适用于各类应用场景。

目前,ip2region 官方社区已正式上线,致力于完善 IP 相关工具链及数据服务生态,现已提供稳定的商用级离线数据库、在线查询测试接口以及详尽的 xdb 使用和技术文档。

以下是 ip2region 3.6.0 版本的主要更新内容:

1,发布 ip2region.js npm 包,全面兼容 Node.js 与 TypeScript 环境:

立即学习“Java免费学习笔记(深入)”;

npm install ip2region.js --save

2,JavaScript 绑定(适用于 Node.js / TypeScript)现已支持 IPv6 地址查询功能。具体使用方法请参阅 JavaScript Binding 文档。可通过以下命令进行测试验证:

➜  javascript git:(master) node tests/search.app.js --db=../../data/ip2region_v6.xdb
ip2region xdb searcher test program
source xdb: ../../data/ip2region_v6.xdb (IPv6, vectorIndex)
type 'quit' to exit
ip2region>> ::
{region: |||, ioCount: 2, took: 158.64 μs}
ip2region>> 240e:3b7:3272:d8d0:3b7b:3ee0:1d39:848
{region: 中国|广东省|深圳市|家庭宽带, ioCount: 14, took: 256.98 μs}
ip2region>> 2001:3:ffff:ffff:ffff:ffff:ffff:ffff
{region: 美国|加利福尼亚州|洛杉矶|专线用户, ioCount: 21, took: 241.755 μs}
ip2region>>

3,性能基准测试结果(环境:Razer 笔记本 + Ubuntu 系统,电源均衡模式,SATA SSD,启用 VectorIndex 缓存):

➜  javascript git:(master) node tests/bench.app.js --db=../../data/ip2region_v6.xdb --src=../../data/ipv6_source.txt
Searcher: {"version": IPv6, "dbPath": ../../data/ip2region_v6.xdb, "handle": 21, "vectorIndex": 524288, "cBuffer": null}
Bench finished, {cachePolicy: vectorIndex, total: 34159862, took: 963.9443019528878 s, cost: 28.21862400828457 μs/op}

在本次测试中,共完成约 3415.9 万次 IPv6 查询,平均每次查询耗时仅为 28.2 微秒。

源码下载地址:点击访问 Gitee 仓库

网友留言(0 条)

发表评论