1. 关注常识网首页
  2. 生活常识

聚合数据api请求次数([开源]仅数MB,准确率99.9%的离线IP地址定位库,0.0x毫秒级查询)

聚合数据api升级程序每秒请求次数2到4次,聚合数据是一款API聚合类应用,致力于基于API技术向客户提供覆盖多领域、多场景的标准化API技术服务与集API治理...

聚合数据api升级程序每秒请求次数2到4次,聚合数据是一款API聚合类应用,致力于基于API技术向客户提供覆盖多领域、多...更多聚合数据api请求次数的这个问题,以及大家所关心的[开源]仅数MB,准确率99.9%的离线IP地址定位库,0.0x毫秒级查询的内容,欢迎大家继续关注我们提供的精彩分享。

聚合数据api请求次数

聚合数据api升级程序每秒请求次数2到4次,聚合数据是一款API聚合类应用,致力于基于API技术向客户提供覆盖多领域、多场景的标准化API技术服务与集API治理、数据治理和相关技术服务于一体的数字化整体解决方案,助力企业客户实现数字化升级。通过HiFlow场景连接器,一线业务人员无需编程,零代码,可以使用聚合数据开放API和其他业务系统对接,定时发送通知、数据自动归档等。比如定时发送天气预报、新闻头条、空气质量等。

聚合数据api请求次数拓展阅读

聚合数据api请求次数([开源]仅数MB,准确率99.9%的离线IP地址定位库,0.0x毫秒级查询)

[开源]仅数MB,准确率99.9%的离线IP地址定位库,0.0x毫秒级查询

Ip2region - 准确率99.9%的离线IP地址定位库,0.0x毫秒级查询,ip2region.db数据库只有数MB,提供了java,php,c,python,nodejs,golang,c、php、c、python、nodejs、php扩展(php5和php7)、golang、rust、lua、lua_c, nginx。

binding

描述

开发状态

binary查询耗时

b-tree查询耗时

memory查询耗时

c

ANSC c binding

已完成

0.0x毫秒

0.0x毫秒

0.00x毫秒

c binding

已完成

0.x毫秒

0.x毫秒

0.1x毫秒

golang

golang binding

已完成

0.x毫秒

0.x毫秒

0.1x毫秒

java

java binding

已完成

0.x毫秒

0.x毫秒

0.1x毫秒

lua

lua实现的binding

已完成

0.x毫秒

0.x毫秒

0.x毫秒

lua_c

lua的c扩展

已完成

0.0x毫秒

0.0x毫秒

0.00x毫秒

nginx

nginx的c扩展

已完成

0.0x毫秒

0.0x毫秒

0.00x毫秒

nodejs

nodejs

已完成

0.x毫秒

0.x毫秒

0.1x毫秒

php

php实现的binding

已完成

0.x毫秒

0.1x毫秒

0.1x毫秒

php5_ext

php5的c扩展

已完成

0.0x毫秒

0.0x毫秒

0.00x毫秒

php7_ext

php7的c扩展

已完成

0.0毫秒

0.0x毫秒

0.00x毫秒

python

python bindng

已完成

0.x毫秒

0.x毫秒

0.x毫秒

rust

rust binding

已完成

0.x毫秒

0.x毫秒

0.x毫秒

ip2region快速测试

请参考每个binding下的README说明去运行cli测试程序,例如C语言的demo运行如下:

cd binding/c/ gcc -g -O2 testSearcher.c ip2region.c ./a.out ../../data/ip2region.db

会看到如下cli界面:

initializing B-tree ... +----------------------------------+ | ip2region test script | | Author: chenxin619315@gmail.com | | Type &39; to exit program | +----------------------------------+ p2region>> 101.105.35.57 2163|中国|华南|广东省|深圳市|鹏博士 in 0.02295 millseconds

输入IP地址开始测试,第一次会稍微有点慢,在运行命令后面接入binary,memory来尝试其他算法,建议使用b-tree算法,速度和并发需求的可以使用memory算法,具体集成请参考不同binding下的测试源码。

ip2region安装

具体请参考每个binding下的README文档和测试demo,以下是一些可用的快捷安装方式:

maven仓库地址

<dependency> <groupId>org.lionsoul</groupId> <artifactId>ip2region</artifactId> <version>1.7.2</version> </dependency>

nodejs

npm install node-ip2region --save

nuget安装

Install-Package IP2Region

php composer

文本数据文件:db文件的原始文本数据文件路径,自带的ip2region.db文件就是/data/ip.merge.txt生成而来的,你可以换成自己的或者更改/data/ip.merge.txt重新生成 ip2region.db文件的目录:是可选参数,没有指定的话会在当前目录生成一份./data/ip2region.db文件

  1. 获取生成的ip2region.db文件覆盖原来的ip2region.db文件即可
  2. 默认的ip2region.db文件生成命令:

cd ${ip2region_root}/java/ java -jar dbMaker-1.2.2.jar -src ./data/ip.merge.txt -region ./data/global_region.csv 39;city_id&39;region' => substr($this->dbBinStr, $dataPtr + 4, $dataLen - 4) // 获取其他数据 ); ?>

源码请查阅 ip2region php client 的 binarySearch 方法。

b-tree 搜索

b-tree 搜索用到了 HEADER INDEX,第一步先在 HEADER INDEX 中搜索,再定位到 INDEX 中的某个 4k index分区搜索。

步骤:

  • 把ip值通过ip2long 转为长整型
  • 使用二分法在 HEADER INDEX 中搜索,比较得到对应的 header index block
  • header index block 指向 INDEX 中的一个 4K 分区,所以直接把搜索范围降低到 4K
  • 采用二分法在获取到的 4K 分区搜索,得到对应的 index block
  • 拿到该 index block 的后面四个字节, 分别得到数据长度和数据地址
  • 从数据地址读取拿到的所得长度的字节,即是搜索结果

具体源码请查阅 ip2region php client 中的 btreeSearch 方法。

六、源码地址

访问一飞开源:https://code.exmay.com/


以上就是关于聚合数据api请求次数([开源]仅数MB,准确率99.9%的离线IP地址定位库,0.0x毫秒级查询)的所有内容,希望对你有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人,并不代表关注常识网立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容(包括不限于图片和视频等),请邮件至379184938@qq.com 举报,一经查实,本站将立刻删除。

联系我们

在线咨询:点击这里给我发消息

微信号:CHWK6868

工作日:9:30-18:30,节假日休息