ip2region - オフライン IP アドレス ロケーション ライブラリおよび IP ロケーション データ管理フレームワークであり、10 マイクロ秒のクエリ効率を備え、多くの主流プログラミング言語にxdb
データ生成とクエリ クライアント実装を提供します。
xdb
数億の IP データ セグメント行をサポートします。デフォルトの地域情報は、国家|区域|省份|城市|ISP
という固定形式です。地域情報は、完全なカスタマイズをサポートします。たとえば、GPS 情報/国際統一地域情報コード/郵便番号など、地域の特定のビジネス ニーズを伴うデータを追加できます。つまり、ip2region を使用して独自の IP 位置データを管理できます。
xdb
形式生成プログラムは、一部のデータを自動的に重複排除して圧縮します。生成される ip2region.xdb データベースは、データの詳細が増えるにつれて徐々に増加します。
完全にxdb
ファイルに基づいたクエリの場合でも、単一クエリの応答時間は 10 マイクロ秒レベルです。メモリ アクセラレートされたクエリは、次の 2 つの方法で有効にできます。
vIndex
インデックス キャッシュ: 固定512KiB
メモリ領域を使用してベクター インデックス データをキャッシュし、IO ディスク操作を 1 回削減し、平均クエリ効率を 10 ~ 20 マイクロ秒の間で安定させます。xdb
ファイル全体キャッシュ: xdb
ファイル全体をメモリにロードします。メモリ使用量はxdb
ファイルのサイズと同じであり、マイクロ秒レベルのクエリ効率が維持されます。xdb
データクエリAPI の概要、使用方法のドキュメント、テスト手順については、対応するsearcher
クエリ クライアントの ReadMe の概要を参照してください。すべてのクエリ バインディングの実装は次のとおりです。
わかりました? | 州 | プログラミング言語 | 説明する | 投稿者 |
---|---|---|---|---|
✅ | 完了 | ゴラン | golang xdb クエリ クライアントの実装 | ライオン |
✅ | 完了 | php | PHP xdb クエリ クライアントの実装 | ライオン |
✅ | 完了 | ジャワ | Java xdb クエリ クライアントの実装 | ライオン |
✅ | 完了 | ルア | Pure Lua xdb クエリ クライアントの実装 | ライオン |
✅ | 完了 | c | ANSC c xdb クエリ クライアントの実装 | ライオン |
✅ | 完了 | lua_c | Lua C 拡張 XDB クエリ クライアントの実装 | ライオン |
✅ | 完了 | さび | Rust xdb クエリ クライアントの実装 | 公正陽 |
✅ | 完了 | パイソン | Python xdbクエリクライアントの実装 | すごい華華 |
✅ | 完了 | ノードjs | nodejs xdbクエリクライアントの実装 | 呉建平 |
✅ | 完了 | シャープ | csharp xdbクエリクライアントの実装 | アラン・リー |
✅ | 完了 | アーラン | Erlang xdb クエリ クライアントの実装 | レイファ996 |
これから始める | php_ext | PHP C 拡張機能 xdb クエリ クライアントの実装 | 未定 | |
✅ | 完了 | nginx | nginx は xdb クエリ クライアントの実装を拡張します | 呉建平 |
✅ | 完了 | C++ | C++ xdb クエリ クライアントの実装 | ユンビン・リウ |
次のツールチェーンの実装は、サードパーティのリポジトリを通じてコミュニティ開発者によって提供されています。
わかりました? | 州 | プログラミング言語 | 説明する | 投稿者 |
---|---|---|---|---|
✅ | 完了 | ルビー-ip2リージョン | Ruby XDBクエリクライアントの実装 | jicheng1014 |
✅ | 完了 | Ip2regionツール | ip2region データ変換ツール | 原石 |
xdb
データの生成API の概要、使用法ドキュメント、テスト手順については、以下のmaker
生成プログラムの ReadMe ドキュメントを参照してください。
わかりました? | 州 | プログラミング言語 | 説明する | 投稿者 |
---|---|---|---|---|
✅ | 完了 | ゴラン | Golang xdb生成プログラムの実装 | ライオン |
✅ | 完了 | ジャワ | Java xdb生成プログラムの実装 | ライオン |
これから始める | c | ANSC c xdb生成プログラムの実装 | ライオン | |
✅ | 完了 | パイソン | Python xdb生成プログラムの実装 | レオリン49 |
✅ | 完了 | シャープ | csharp xdb生成プログラムの実装 | アラン・リー |
✅ | 完了 | さび | Rust XDB ジェネレーターの実装 | ケビンワン |
✅ | 完了 | C++ | C++ xdb生成プログラムの実装 | ユンビン・リウ |
xdb
データの更新ip2region は、 IP データ ストレージと高速クエリの設計と実装を研究することを目的としています。オリジナルの IP データはサポートされていないため、商用バージョンは存在しません。 このプロジェクトに付属する./data/ip.merge.txt
の元のデータは長期間更新されておらず、今後も更新されることはありません。高いデータ精度と更新頻度が必要な使用シナリオの場合は、3 番目のデータを購入することをお勧めします。 -party 商用データを使用できます。データを自分で更新するにはいくつかの方法があります。
ip2region が提供する編集ツールを使用して、ip2region に付属する./data/ip.merge.txt
の元の IP データに基づいてデータを変更できます。現在、データを取得する方法はいくつかあります。
[数据源补充]
タグが付いた問題オリジナルIPデータ編集ツールの使用方法については、下記maker
生成プログラムのReadMeドキュメントを参照してください。
わかりました? | 州 | プログラミング言語 | 説明する | 投稿者 |
---|---|---|---|---|
✅ | 完了 | ゴラン | golang独自のIPデータエディタ | ライオン |
これから始める | ジャワ | Java生IPデータエディタ | ライオン | |
✅ | 完了 | C++ | C++ 生 IP データ エディター | ユンビン・リウ |
独自の API またはデータ ソースを通じてデータを更新する場合は、次のビデオで共有されている基于检测算法
更新アルゴリズムを参照して、自分で更新プログラムを作成できます。
xdb のキャッシュされたクエリ全体は同時実行に対して安全ではありません。同時実行の量が多い場合、異なるプロセス/スレッド/コルーチンを安全に使用する必要があります。開いているファイルが多すぎるとクエリ メソッドでエラーが発生する可能性があります。安全に同時使用できるように、カーネルで許可されているオープン ファイルの最大数を変更するか (fs.file-max=より高い値)、xdb 全体をメモリにロードしてください。
まず、WeChat パブリック アカウント lionssoul-org (ライオンズ ソウル) をフォローしてください。