Merge branch 'master' of github.com:lionsoul2016/ip2region
This commit is contained in:
commit
596b0e356f
25
README.md
25
README.md
|
|
@ -7,8 +7,9 @@ ip2region - ip到地区的映射库,妈妈再也不用担心我的ip定位。
|
||||||
|
|
||||||
**2. 标准化的数据格式:**
|
**2. 标准化的数据格式:**
|
||||||
|
|
||||||
每条ip数据段都固定了格式:_城市Id|国家|区域|省份|城市|ISP_<br />
|
每条ip数据段都固定了格式:_城市Id|国家|区域|省份|城市|ISP_
|
||||||
只有中国的数据精确到了城市,其他国家只能定位到国家,后前的选项全部是0,已经包含了全部你能查到的大大小小的国家。<br />
|
|
||||||
|
只有中国的数据精确到了城市,其他国家只能定位到国家,后前的选项全部是0,已经包含了全部你能查到的大大小小的国家。
|
||||||
(请忽略前面的城市Id,个人项目需求)
|
(请忽略前面的城市Id,个人项目需求)
|
||||||
|
|
||||||
**3. 体积小:**
|
**3. 体积小:**
|
||||||
|
|
@ -17,45 +18,40 @@ ip2region - ip到地区的映射库,妈妈再也不用担心我的ip定位。
|
||||||
|
|
||||||
**4. 多查询客户端的支持,0.0x毫秒级别的查询**
|
**4. 多查询客户端的支持,0.0x毫秒级别的查询**
|
||||||
|
|
||||||
已经集成的客户端有:java, php, c, python,php扩展(目前只支持linux)。
|
已经集成的客户端有:java, php, c, python,php扩展(支持linux, php5, php7版本已支持)。
|
||||||
<pre>
|
|
||||||
提供了两种查询算法,响应时间如下:
|
提供了两种查询算法,响应时间如下:
|
||||||
客户端/binary算法/b-tree算法:
|
客户端/binary算法/b-tree算法:
|
||||||
java/0.x毫秒/0.x毫秒 (使用RandomAccessFile)
|
java/0.x毫秒/0.x毫秒 (使用RandomAccessFile)
|
||||||
php/0.x毫秒/0.1x毫秒
|
php/0.x毫秒/0.1x毫秒
|
||||||
c/0.0x毫秒/0.0x毫秒(b-tree算法基本稳定在0.02x毫秒级别)
|
c/0.0x毫秒/0.0x毫秒(b-tree算法基本稳定在0.02x毫秒级别)
|
||||||
python/0.x毫秒/0.1x毫秒
|
python/0.x毫秒/0.1x毫秒
|
||||||
</pre>
|
|
||||||
|
|
||||||
任何客户端b-tree都比binary算法快
|
任何客户端b-tree都比binary算法快
|
||||||
|
|
||||||
**5. 测试程序:**
|
**5. 测试程序:**
|
||||||
java:
|
java:
|
||||||
<pre>
|
|
||||||
cd binding/java
|
cd binding/java
|
||||||
ant all
|
ant all
|
||||||
java -jar ip2region-{version}.jar ./data/ip2region.db
|
java -jar ip2region-{version}.jar ./data/ip2region.db
|
||||||
</pre>
|
|
||||||
|
|
||||||
php:
|
php:
|
||||||
<pre>
|
|
||||||
php binding/php/testSearcher ./data/ip2region.db
|
php binding/php/testSearcher ./data/ip2region.db
|
||||||
</pre>
|
|
||||||
|
|
||||||
c:
|
c:
|
||||||
<pre>cd binding/c/
|
|
||||||
|
cd binding/c/
|
||||||
gcc -g -O2 testSearcher.c ip2region.c
|
gcc -g -O2 testSearcher.c ip2region.c
|
||||||
./a.out ../../data/ip2region.db
|
./a.out ../../data/ip2region.db
|
||||||
</pre>
|
|
||||||
|
|
||||||
python:
|
python:
|
||||||
<pre>
|
|
||||||
python binding/python/testSearcher ./data/ip2region.db
|
python binding/python/testSearcher ./data/ip2region.db
|
||||||
</pre>
|
|
||||||
|
|
||||||
均会看到如下界面:
|
均会看到如下界面:
|
||||||
|
|
||||||
<pre>
|
|
||||||
initializing B-tree ...
|
initializing B-tree ...
|
||||||
+----------------------------------+
|
+----------------------------------+
|
||||||
| ip2region test script |
|
| ip2region test script |
|
||||||
|
|
@ -64,7 +60,6 @@ initializing B-tree ...
|
||||||
+----------------------------------+
|
+----------------------------------+
|
||||||
p2region>> 101.105.35.57
|
p2region>> 101.105.35.57
|
||||||
2163|中国|华南|广东省|深圳市|鹏博士 in 0.02295 millseconds
|
2163|中国|华南|广东省|深圳市|鹏博士 in 0.02295 millseconds
|
||||||
</pre>
|
|
||||||
|
|
||||||
输入ip地址开始测试,第一次会稍微有点慢,在运行命令后面接入binary来尝试binary算法,建议使用b-tree算法。
|
输入ip地址开始测试,第一次会稍微有点慢,在运行命令后面接入binary来尝试binary算法,建议使用b-tree算法。
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue