php中的IP API查找优化

Posted

技术标签:

【中文标题】php中的IP API查找优化【英文标题】:IP API lookup optimization in php 【发布时间】:2020-10-24 12:49:02 【问题描述】:

我正在尝试限制对 IP 地理定位 API 的请求数量,我想知道这是否能准确地确定用户国家;

我的 IP 表

ID |-----ip-----|国家|

1 | 1.194.121.200 |美国


如果我的数据库中有上述内容,我可以将相同的国家/地区用于前两个八位字节中具有相同整数的 IP(1.194.208.105),以避免另一个 API 请求?

【问题讨论】:

也许这个网站可以帮到你lite.ip2location.com/ip-address-ranges-by-country 【参考方案1】:

不可靠,不。

    IP 子网通过位掩码工作,位掩码仅偶尔与点分四字节对齐。 IP 分配发生变化。 由于 IPv4 稀缺性块经常被分解成越来越小的块,分配可能会在网络规模和地理位置方面发生巨大变化。

例如:几年前,Azure 遇到了问题,因为他们从 LACNIC [南美洲] 购买了一块 IP 用于他们位于美国的云中。这造成了各种各样的破坏,因为使用过时 IP 注册/地理位置数据的人开始抱怨他们不希望他们的数据位于美国以外。

无论如何都要在一段合理的时间内缓存每个 IP 的结果,但是除非您的 API 提供商为您提供该数据,或者您想要构建自己的 IP 地理定位服务,否则您将无法通过 netblock 进行缓存。

【讨论】:

以上是关于php中的IP API查找优化的主要内容,如果未能解决你的问题,请参考以下文章

APP端的网络优化(DNS优化,HTTP优化)

ThinkPHP 3.2 性能优化,实现高性能API开发

LNMP 性能优化之 PHP 性能优化

从 TCP/IP 协议谈 Linux 内核参数优化

PHP 优化详解

Web页面加载,如何分析页面性能?如何进行优化?