
Ip2region 是什麼?
ip2region v2.0 - 是一個離線 IP 位址定位庫和 IP 定位資料管理框架,10 微秒級別的查詢效率,提供了眾多主流程式語言的 xdb 資料產生和查詢客戶端實作。
應用場景
Ip2region 廣泛應用在各種需要進行 IP 位址定位的場景,例如,可以用於偵測和阻止來自某些地區或國家的 IP 位址的攻擊行為,可以根據使用者的 IP 位址定位到具體的地理位置。可以根據 IP 位址的地理位置資訊進行資料分析和統計,例如統計某個地區的使用者量等。
功能特性
1、標準化的資料格式
每個 IP 資料段的 region 資訊都固定了格式:國家|區域|省份|城市|ISP,只有中國的資料絕大部分精確到了城市,其他國家部分資料只能定位到國家,後面的選項全部是 0。
2、資料去重和壓縮
xdb 格式產生程式會自動去重和壓縮部分資料,預設的全部 IP 資料,產生的 ip2region.xdb 資料庫是 11MiB,隨著資料的詳細度增加資料庫的大小也慢慢增大。
3、極速查詢回應
即使是完全基於 xdb 檔案的查詢,單次查詢回應時間在十微秒級別,可透過如下兩種方式開啟記憶體加速查詢:
vIndex 索引快取:使用固定的 512KiB 的記憶體空間快取 vector index 資料,減少一次 IO 磁碟操作,保持平均查詢效率穩定在 10-20 微秒之間。xdb 整個檔案快取:將整個 xdb 檔案全部載入到記憶體,記憶體佔用等同於 xdb 檔案大小,無磁碟 IO 操作,保持微秒級別的查詢效率。
4、IP 資料管理框架
v2.0 格式的 xdb 支援億級別的 IP 資料段行數,region 資訊也可以完全自訂,例如:你可以在 region 中追加特定業務需求的資料,例如:GPS 資訊/國際統一地域資訊編碼/郵編等。也就是你完全可以使用 ip2region 來管理你自己的 IP 定位資料。
如何在 C# 中使用?
- 安裝 NuGet 套件 IP2Region.Net。
Install-Package IP2Region.Net
- 使用 API 查詢,非常簡單!
using IP2Region.Net.XDB;
Searcher searcher = new Searcher();
searcher.Search("IP位址");
依賴注入
services.AddSingleton<ISearcher,Searcher>();
效能
