Ip2region 3.5.0 发布 - Rust 扩展添加了 IPv6 的支持
Ip2region 是一个离线的 IP 数据管理框架和定位库,同时支持 IPv4 和 IPv6,支持亿级别的 IP 断管理,10 微秒级别的查询性能,提供了很多主流编程语言的 xdb 数据格式的生成和查询实现。
ip2region 官方社区已正式上线旨提强化 IP 相关的工具链和数据服务,目前提供了稳定的 商用离线数据、在线查询测试、xdb 使用 / 技术文档。
Ip2Region 3.5.0 详细更新如下:
- Rust binding 增加了
NoCache/VectorIndex/FullMemory三种缓存策略的完整实现。 - Rust binding 提了 IPv6 的查询支持,具体使用文档请参考 Rust Binding,测试方式如下:
$ cd binding/rust
$ ./target/release/searcher --xdb='../../data/ip2region_v6.xdb' query
ip2region xdb searcher test program, type `quit` or `Ctrl + c` to exit
ip2region>> 2001:5:4::
region: Ok("荷兰|北荷兰省|阿姆斯特丹|专线用户"), took: 284.80775ms
ip2region>> 2001::
region: Ok("美国|加利福尼亚州|洛杉矶|专线用户"), took: 12.75µs
ip2region>> 2001:5:6::
region: Ok("荷兰|北荷兰省|阿姆斯特丹|专线用户"), took: 52.958µs
ip2region>> 2001:5:5::
region: Ok("比利时|弗拉芒大区|泽勒|专线用户"), took: 123.375µs
ip2region>>
- Rust 增加了标准的原始数据/xdb 的 bench 测试,方便开发者测试查询性能,验证 xdb 文件的有效性,测试方式如下:
$ cd binding/rust/example
$ cargo build -r
## 通过 data/ip2region_v4.xdb 和 data/ipv4_source.txt 进行 ipv4 的 bench 测试:
$ RUST_LOG=debug ../target/release/searcher --xdb='../../../data/ip2region_v4.xdb' bench '../../../data/ipv4_source.txt'
## 通过 data/ip2region_v6.xdb 和 data/ipv6_source.txt 进行 ipv6 的 bench 测试:
$ RUST_LOG=debug ../target/release/searcher --xdb='../../../data/ip2region_v6.xdb' bench '../../../data/ipv6_source.txt'
- Java/Golang maker 生成过程中的允许空
region信息方便自定义字段的的指定,有些字段的值确实为空。