ip2region 3.11.1 发布 - Java 服务构建优化
Ip2region 是一个离线的 IP 数据管理框架和定位库,同时支持 IPv4 和 IPv6,支持亿级别的 IP 断管理,10 微秒级别的查询性能,提供了很多主流编程语言的 xdb 数据格式的生成和查询实现。
ip2region 官方社区已正式上线旨提强化 IP 相关的工具链和数据服务,目前提供了稳定的 商用离线数据、在线查询测试、xdb 使用 / 技术文档。
ip2region 3.11.1 详细更新如下:
1,java xdb 内部的 String xdbPath 全部替换为 File xdbFile,支持通过 File 创建查询对象。
2,java xdb.Searcher 增加通过 InputStream 加载整个 xdb 文件 / header / vectorIndex / 验证。
3,java service.ConfigBuilder 增加 setXdbInputStream 和 setXdbFile,支持通过 InputStream 和 File 构建 service.Config。
如果通过 setXdbInputStream 来指定 xdb 数据源,此时的缓存策略只能指定为 Config.BufferCache,该方式仅方便从 jar 包中加载 xdb 文件的内容,虽然我一直建议 xdb 文件不要打包到 jar 包里面,调用方式如下:
import org.lionsoul.ip2region.service.Config;
import org.lionsoul.ip2region.service.Ip2Region;
final Config v4Config = Config.custom()
.setCachePolicy(Config.VIndexCache) // 指定缓存策略: NoCache / VIndexCache / BufferCache
.setSearchers(15) // 设置初始化的查询器数量
// .setXdbInputStream(InputStream) // 设置 v4 xdb 文件的 inputstream 对象
// .setXdbFile(File) // 设置 v4 xdb File 对象
.setXdbPath("ip2region v4 xdb path") // 设置 v4 xdb 文件的路径
.asV4(); // 指定为 v4 配置
4,maven pom 版本更新为 3.3.1,最新坐标如下:
<dependency>
<groupId>org.lionsoul</groupId>
<artifactId>ip2region</artifactId>
<version>3.3.1</version>
</dependency>