Update the README

This commit is contained in:
lionsoul 2019-10-28 07:46:58 +08:00
parent b23cb7fdf6
commit f7f6d6282c

View File

@ -1,9 +1,11 @@
ip2region - 最自由的ip地址查询库ip到地区的映射库提供Binary,B树和纯内存三种查询算法妈妈再也不用担心我的ip地址定位。 ip2region - 最自由的ip地址查询库ip到地区的映射库提供Binary,B树和纯内存三种查询算法妈妈再也不用担心我的ip地址定位。
### 1. 99.9%准确率,定时更新: ### 1. 前言:
ip2region重点在于研究ip数据的存储设计和各种语言的查询实现并没有原始ip数据的支撑数据来源请参考下面的描述本项目不保证及时的数据更新没有也不会有商用版本你可以使用自定义的数据导入ip2region进行自定义查询的实现。
数据聚合了一些知名ip到地名查询提供商的数据这些是他们官方的的准确率经测试着实比纯真啥的准确多了。<br /> ### 2. 99.9%准确率,定时更新:
每次聚合一下数据需要1-2天会不定时更新。<br /><br />
数据聚合了一些知名ip到地名查询提供商的数据这些是他们官方的的准确率经测试着实比纯真啥的准确一些。<br />
ip2region的数据聚合自以下服务商的开放API或者数据(升级程序每秒请求次数2到4次): <br /> ip2region的数据聚合自以下服务商的开放API或者数据(升级程序每秒请求次数2到4次): <br />
01, &gt;80%, 淘宝IP地址库, [http://ip.taobao.com/](http://ip.taobao.com/) <br /> 01, &gt;80%, 淘宝IP地址库, [http://ip.taobao.com/](http://ip.taobao.com/) <br />
02, ≈10%, GeoIP, [https://geoip.com/](https://geoip.com/) <br /> 02, ≈10%, GeoIP, [https://geoip.com/](https://geoip.com/) <br />
@ -11,18 +13,18 @@ ip2region的数据聚合自以下服务商的开放API或者数据(升级程序
<b>备注:</b>如果上述开放API或者数据都不给开发时ip2region将停止数据的更新服务目前是2~3个月更新一次。 <b>备注:</b>如果上述开放API或者数据都不给开发时ip2region将停止数据的更新服务目前是2~3个月更新一次。
### 2. 标准化的数据格式: ### 3. 标准化的数据格式:
每条ip数据段都固定了格式_城市Id|国家|区域|省份|城市|ISP_ 每条ip数据段都固定了格式_城市Id|国家|区域|省份|城市|ISP_
只有中国的数据精确到了城市其他国家只能定位到国家后前的选项全部是0已经包含了全部你能查到的大大小小的国家。 只有中国的数据精确到了城市其他国家只能定位到国家后前的选项全部是0已经包含了全部你能查到的大大小小的国家。
请忽略前面的城市Id个人项目需求 请忽略前面的城市Id个人项目需求
### 3. 体积小: ### 4. 体积小:
生成的数据库文件ip2region.db只有1.5M1.2版本前是3.5M 生成的数据库文件ip2region.db只有1.5M1.2版本前是3.5M
### 4. 多查询客户端的支持0.0x毫秒级别的查询 ### 5. 多查询客户端的支持0.0x毫秒级别的查询
已经集成的客户端有java、C#、php、c、python、nodejs、php扩展(php5和php7)、golang、rust、lua、lua_c。 已经集成的客户端有java、C#、php、c、python、nodejs、php扩展(php5和php7)、golang、rust、lua、lua_c。
@ -51,7 +53,7 @@ nuget安装命令
Install-Package IP2Region Install-Package IP2Region
``` ```
### 5. 测试程序: ### 6. 测试程序:
C#、Node.js、lua_c的测试请具体参考文件夹中README.md 说明。 C#、Node.js、lua_c的测试请具体参考文件夹中README.md 说明。
java: java:
@ -101,7 +103,7 @@ p2region>> 101.105.35.57
具体集成请参考不同客户端的测试源码。 具体集成请参考不同客户端的测试源码。
### 6. 如何生成ip2region.db文件 ### 7. 如何生成ip2region.db文件
从1.8版本开始ip2region开源了ip2region.db生成程序的java实现提供了ant编译支持编译后会得到以下提到的dbMaker-{version}.jar对于需要研究生成程序的或者更改自定义生成配置的请参考${ip2region_root}/maker/java内的java源码。 从1.8版本开始ip2region开源了ip2region.db生成程序的java实现提供了ant编译支持编译后会得到以下提到的dbMaker-{version}.jar对于需要研究生成程序的或者更改自定义生成配置的请参考${ip2region_root}/maker/java内的java源码。
@ -131,7 +133,7 @@ java -jar dbMaker-1.2.2.jar -src ./data/ip.merge.txt -region ./data/global_regio
* 5, 数据库文件的结构和原理请阅读 @冬芽 的blog[“ip2region数据库文件的结构和原理”](http://dongyado.com/tool/2016/08/18/structure-of-ip2region-database-file/) * 5, 数据库文件的结构和原理请阅读 @冬芽 的blog[“ip2region数据库文件的结构和原理”](http://dongyado.com/tool/2016/08/18/structure-of-ip2region-database-file/)
### 7. 其他备注 ### 8. 其他备注
* 1, 全部binding的各个search接口都<b>不是</b>线程安全的实现,不同线程可以通过创建不同的查询对象来使用。 * 1, 全部binding的各个search接口都<b>不是</b>线程安全的实现,不同线程可以通过创建不同的查询对象来使用。
* 2, memorySearch接口在发布对象前进行一次预查询可以安全用于多线程环境。 * 2, memorySearch接口在发布对象前进行一次预查询可以安全用于多线程环境。
* 3, ip2region交流分享微信lionsoul2014QQ1187582057 * 3, ip2region交流分享微信lionsoul2014QQ1187582057