【Github】项目名:zoujingli/ip2region – PHP版本的离线IP地址定位库
项目简介
此项目是基于ip2region整合而来,方便PHP项目用Composer安装。它是一个离线IP地址定位库和IP定位数据管理框架,查询效率达10微秒级别,有众多主流编程语言的xdb数据生成和查询客户端实现。数据格式标准化,有数据去重和压缩特性,支持多种缓存方式以加速查询,还能自定义region信息来管理自己的IP定位数据。
项目特性
1. 标准化的数据格式
每个ip数据段的region信息格式固定为:国家|区域|省份|城市|ISP,中国数据大部分精确到城市,其他国家部分数据只能定位到国家,后面选项为0。
2. 数据去重和压缩
默认全部IP数据生成的ip2region.xdb数据库为11MiB,数据详细度增加时数据库大小会增大。
3. 极速查询响应
基于xdb文件查询单次响应在十微秒级别,可通过vIndex索引缓存(用512KiB内存缓存vectorindex数据减少IO操作,使查询效率稳定在10 – 20微秒)和xdb整个文件缓存(将整个xdb文件加载到内存,无磁盘IO操作保持微秒级查询效率)两种方式加速查询。
4. IP数据管理框架
v2.0格式的xdb支持亿级别的IP数据段行数,region信息可完全自定义,例如追加GPS信息、国际统一地域信息编码、邮编等。
查询与生成API相关
介绍了xdb数据查询API和生成API,不同编程语言有不同的完成状态,如golang、php、java等语言在查询客户端和生成程序上有已完成或待开始等不同状态。并且提到查询接口非并发安全,在并发量很大时,基于文件查询可能导致打开文件数过多错误,可修改内核最大允许打开文件数或采用内存查询来安全并发使用。
项目总结
这个项目在IP定位数据的存储设计和多语言查询实现方面有深入研究,虽不保证数据及时更新且无商用版本,但提供了丰富的功能供开发者使用。希望大家能留言分享关于这个项目的看法或者使用过程中的问题等。
项目地址
数据统计
数据评估
本站链氪巴士提供的zoujingli/ip2region:PHP版本的离线IP地址定位库都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由链氪巴士实际控制,在2024年12月6日 上午12:00收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,链氪巴士不承担任何责任。