lxngoddess5321 / ipfirst

可以压缩任何IP数据,并提供python,php,java,go等7个版本的IP查询代码。效率可达到每秒百万级别查询。IP原始数据压缩,高并发,高性能,可以自由定制以达到极限的性能。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ipfirst

此代码主要是利用pandas将原始的ip库数据压缩成二进制,并通过建立索引进行高效的查找,压缩率大致是在十倍左右,主要由不同的需求决定最终的压缩比率。

代码

  • ip-parse-*:都是解析代码来自曾祥展,未做改动。目前有c#,c++,go,java,php,python,ruby版本。欢迎贡献更多版本。
  • PackIp.py:是主要的处理代码,未封装。
  • IpFunction.py:是各种用来处理数据的小函数。
  • ip-utf8.dat:即最后生成的二进制文件。
  • chunzhen.txt:一份供大家测试的ip库原始数据。

反馈

如果有更好的数据结构或者算法欢迎来信cutd@foxmail.com

说明

  1. 由于本人水平太差,并没有对代码进行封装。欢迎大神来改写。
  2. 编写基于py2.7,py3.5应该也能运行
  3. 由于编写基于ipip的数据库需要购买,为了不影响ipip的利益暂不提供。仅提供一份纯真ip库供大家测试,但是纯真的ip库格式需要先自行处理下以便pandas可以正常处理。

压缩率和查询性能目前比曾祥展和IPIP的都要好。

About

可以压缩任何IP数据,并提供python,php,java,go等7个版本的IP查询代码。效率可达到每秒百万级别查询。IP原始数据压缩,高并发,高性能,可以自由定制以达到极限的性能。


Languages

Language:Python 22.5%Language:Go 18.3%Language:C# 17.9%Language:C++ 13.2%Language:Java 11.5%Language:PHP 9.8%Language:Ruby 6.3%Language:C 0.4%