2018年的时候我写了一个开源IP查询工具IPinfo
,参考“整合了多接口的IP地址查询工具IPinfo”,不过该项目已经很久没更新了。
IPinfo
由于规划不合理,导致后续维护和扩展困难,再加上性能低下,所以这次xiaoz使用了高性能可扩展PHP框架webman
来完成重构,并更名为IPRSS
体验地址:https://ip.rss.ink/
高性能的多级缓存设计
IPRSS完全使用离线IP数据库,不走第三方在线接口。但这还不够,IPRSS被设计为一个多级缓存的IP查询服务,他的结构是这样的:
Client > Redis > MySQL > 离线IP数据库
首先会查找Redis中缓存数据,如果未找到,则查找MySQL缓存数据,若还未找到则从IP数据库中查找,直到查找到结果为止,一旦找到结果,数据将被缓存在Redis和MySQL中,从而为下一次查询提供缓存服务。
支持IP批量查询
得益于高性能的多级缓存设计,IPRSS还提供IP批量查询功能,一次性最多支持100个IP,如下截图:
支持API调用
目前IPRSS提供了纯真、IP2Location、GeoLite2的IP查询接口,可以直接在线调用,具体请参考:IP RSS API
支持IPV6
IPRSS除了可以查询IPV4的地址外,还支持查询IPV6的地址。
最后
如果大家使用中遇到问题或者有什么建议,欢迎留言反馈。
IPRSS官网:https://ip.rss.ink/
厉害了,很精准啊