ip2region 3.11.0 发布 - Go 并发安全支持 / Java 优化


Ip2region 是一款轻量级、高性能的离线 IP 地址管理与定位框架,全面兼容 IPv4 和 IPv6 协议,可高效处理上亿规模的 IP 段数据,查询响应时间稳定在 10 微秒以内,并已为多种主流编程语言提供 xdb 格式数据的生成工具与查询 SDK。
ip2region 官方社区现已正式上线,致力于构建更完善的 IP 工具生态与数据服务体系,当前已开放商用级离线数据库下载、在线查询体验平台,以及完整的 xdb 使用指南与技术文档支持。
ip2region 3.11.0 版本主要更新内容如下:
- Java 端
Ip2Region核心服务类已迁移至新包路径org.lionsoul.ip2region.service,以提升模块化程度与未来扩展性,对应 Maven 坐标版本升级为 3.3.0,引入方式如下:
import org.lionsoul.ip2region.service.Config;import org.lionsoul.ip2region.service.Ip2Region;
立即学习“Java免费学习笔记(深入)”;
- Golang 绑定层新增
Ip2Region查询服务实现,原生支持高并发场景下的线程安全访问,并可统一处理 IPv4 与 IPv6 地址的混合查询请求,使用示例如下:
import "github.com/lionsoul2014/ip2region/binding/golang/service"// 1, 初始化 IPv4 查询配置:指定缓存策略、xdb 文件路径及预加载查询器数量// 参数1:缓存类型,可选 service.NoCache / service.VIndexCache / service.BufferCache// 参数2:IPv4 版本 xdb 文件路径// 参数3:初始化查询器实例数v4Config, err := service.NewV4Config(service.VIndexCache, "ip2region v4 xdb path", 20)if err != nil { return fmt.Errorf("failed to create v4 config: %s", err)}// 2, 初始化 IPv6 查询配置:同理指定对应参数v6Config, err := service.NewV6Config(service.VIndexCache, "ip2region v6 xdb path", 20)if err != nil { return fmt.Errorf("failed to create v6 config: %s", err)}// 3,基于上述两个配置构建统一的 Ip2Region 查询服务ip2region, err := service.NewIp2Region(v4Config, v6Config)if err != nil { return fmt.Errorf("failed to create ip2region service: %s", err)}// 4,调用 SearchByStr 方法进行双协议地址查询(自动识别 IP 类型)v4Region, err := ip2region.SearchByStr("113.92.157.29") // IPv4 查询v6Region, err := ip2region.SearchByStr("240e:3b7:3272:d8d0:db09:c067:8d59:539e") // IPv6 查询// 5,服务生命周期结束时需显式关闭资源ip2region.Close()
- Java 查询测试程序全面切换为基于
Ip2Region服务类实现,默认加载data/ip2region_v4.xdb与data/ip2region_v6.xdb两个文件,支持 IPv4/IPv6 地址混合输入,交互式测试流程如下:
➜ java git:(master) java -jar target/ip2region-3.3.0.jar searchip2region search service test program+-v4 xdb: /data01/code/c/ip2region/data/ip2region_v4.xdb (vectorIndex)+-v6 xdb: /data01/code/c/ip2region/data/ip2region_v6.xdb (vectorIndex)type 'quit' to exitip2region>> 1.2.3.4{region: 美国|华盛顿|0|谷歌, took: 170 μs}ip2region>> 240e:3b7:3272:d8d0:db09:c067:8d59:539e{region: 中国|广东省|深圳市|家庭宽带, took: 322 μs}ip2region>>
- Golang 查询测试工具同步升级为
Ip2Region服务驱动,默认读取data/ip2region_v4.xdb与data/ip2region_v6.xdb,同样支持 IPv4 与 IPv6 地址无缝混查,实测交互如下:
➜ golang git:(master) ./xdb_searcher searchip2region search service test program+-v4 db: /data01/code/c/ip2region/data/ip2region_v4.xdb (vectorIndex)+-v6 db: /data01/code/c/ip2region/data/ip2region_v6.xdb (vectorIndex)type 'quit' to exitip2region>> 1.2.3.4{region: 美国|华盛顿|0|谷歌, took: 62.504µs}ip2region>> 240e:3b7:3272:d8d0:db09:c067:8d59:539e{region: 中国|广东省|深圳市|家庭宽带, took: 79.571µs}ip2region>>
源码获取地址:点击下载
<< 上一篇
下一篇 >>
网友留言(0 条)