Ip2region 3.6.0 发布 - Javascript 扩展添加了 IPv6 的支持
Ip2region 是一个离线的 IP 数据管理框架和定位库,同时支持 IPv4 和 IPv6,支持亿级别的 IP 断管理,10 微秒级别的查询性能,提供了很多主流编程语言的 xdb 数据格式的生成和查询实现。
ip2region 官方社区已正式上线旨提强化 IP 相关的工具链和数据服务,目前提供了稳定的 商用离线数据、在线查询测试、xdb 使用 / 技术文档。
ip2region 3.6.0 详细更新如下:
1,ip2region.js npm 包支持,适用于 Nodejs / Typescript:
npm install ip2region.js --save
2,javascript binding (nodejs / 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 缓存,bench 结果如下:
➜ 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 微秒/次。