SpringBoot 实现 IP 地址解析

little lunatic / 2023-08-24 / 原文

1. 离线解析

在使用时需要将ip2region.xdb 文件下载到工程文件目录下,使用ip2region即是完全基于 xdb 文件的查询,单次查询响应时间在十微秒级别,可通过如下两种方式开启内存加速查询:

  • vIndex 索引缓存: 使用固定的 512KiB 的内存空间缓存 vector index 数据,减少一次 IO 磁盘操作,保持平均查询效率稳定在10-20微秒之间。

  • xdb 整个文件缓存: 将整个 xdb 文件全部加载到内存,内存占用等同于 xdb 文件大小,无磁盘 IO 操作,保持微秒级别的查询效率。

官方gitee:

  • https://gitee.com/lionsoul/ip2region.git
  • maven依赖
        <dependency>
            <groupId>org.lionsoul</groupId>
            <artifactId>ip2region</artifactId>
            <version>2.6.3</version>
        </dependency>

2.在线解析