PHP 或 Python 脚本会定期从远程数据库中获取大量 IP 地址(/32 网络掩码)数据集。在两次提取之间,数据集将临时存储在 APC 或 Memcached 密钥库中。
该脚本的主要工作是检查数据库/缓存中是否存在给定的 IP 地址(想想:“黑名单”)。
什么是最有效(性能方面)的方法:
- 将 IP 地址存储在 APC/Memcache 中
- 将给定的 IP 与存储的 IP 列表进行比较。
到目前为止我想出了什么:
备选方案 1 将所有 IP 地址存储为一个大数组列表,作为 APC 中单个键的值,然后执行
if (in_array("192.168.0.1", $ip_list_from_cache))
备选方案 2 将每个 IP 作为密钥名称存储在 APC 中,然后执行
if (apc_exists('192.168.0.1')
这是一个很大的列表,我希望比较检查非常快。
提前感谢您的任何评论!