ip2regionIP 到地名映射库
ip2region——准确率 99.9% 的 ip 地址定位库,0.0x 毫秒级查询,数据库文件大小只有 1.5M,提供了 java、php、c、python、node.js、golang 查询绑定和 Binary、B 树、内存三种查询算法,妈妈再也不用担心我的 ip 地址定位!
1. 99.9%准确率,定时更新:
数据聚合了一些知名 ip 到地名查询提供商的数据,这些是他们官方的的准确率,经测试着实比纯真啥的准确多了。
每次聚合一下数据需要 1-2 天,会不定时更新。
2. 标准化的数据格式:
每条 ip 数据段都固定了格式:城市Id|国家|区域|省份|城市|ISP
只有中国的数据精确到了城市,其他国家只能定位到国家,后前的选项全部是0,已经包含了全部你能查到的大大小小的国家。
(请忽略前面的城市 Id,个人项目需求)
3. 体积小:
生成的数据库文件 ip2region.db 只有 1.5M (1.2 版本前 3.5M)
4. 多查询客户端的支持,0.0x 毫秒级别的查询
已经集成的客户端有:java, php, c,python,php扩展,nodejs,golang。
提供了两种查询算法,响应时间如下: 客户端/binary算法/b-tree算法/Memory算法: java/0.x毫秒/0.x毫秒/0.1x毫秒 (使用RandomAccessFile) php/0.x毫秒/0.1x毫秒/0.1x毫秒 (php扩展将有更快的速度) c/0.0x毫秒/0.0x毫秒/0.00x毫秒(b-tree算法基本稳定在0.02x毫秒级别) python/0.x毫秒/0.1x毫秒/0.1x毫秒
任何客户端b-tree都比binary算法快
5. 测试程序:
java:
cd binding/java ant all java -jar ip2region-{version}.jar ./data/ip2region.db
php:
php binding/php/testSearch ./data/ip2region.db
c:
cd binding/c/ gcc -g -O2 testSearch.c ip2region.c ./a.out ../../data/ip2region.db
均会看到如下界面:
initializing B-tree ... +----------------------------------+ | ip2region test script | | Author: chenxin619315@gmail.com | | Type 'quit' to exit program | +----------------------------------+ ip2region>>
输入ip地址开始测试,第一次会稍微有点慢,在运行命令后面接入binary,memory来尝试对应算法,建议使用b-tree算法,有速度和并发追求的使用memory算法。具体集成请参考不同客户端的测试源码。
评论
MotisJSON 到 NSObject 的映射库
Motis 使用 Cocoa 的 KVC 实现了智能的 JSON 到 NSObject 对象的映射。
MotisJSON 到 NSObject 的映射库
0
MotisJSON 到 NSObject 的映射库
Motis使用Cocoa的KVC实现了智能的JSON到NSObject对象的映射。示例代码:// --- User.h --- //@interface User : NSObject@propert
MotisJSON 到 NSObject 的映射库
0
ObbaExcel到Java映射
Obba提供了将Excel的表单映射到Java类的类库,通过Obba可以简单的在Java代码中创建显示Excel的图形程序,主要特性包括:Loadingofarbitraryjarorclassfil
ObbaExcel到Java映射
0
spreadsheet-mapperExcelPOJO映射库
项目简介用excel导入、导出数据是企业软件里很常见的需求,但是要实现好导入、导出并非易事,主要原因
spreadsheet-mapperExcel<->POJO映射库
0
spreadsheet-mapperExcelPOJO映射库
项目简介用excel导入、导出数据是企业软件里很常见的需求,但是要实现好导入、导出并非易事,主要原因在于excel导入或导出并非简单的对数据库表的操作,往往牵涉到校验、转换等工作。本项目希望提供一套方
spreadsheet-mapperExcel<->POJO映射库
0