czdb
Version:
A javascript library for searching IP address-related data in a CZDB database
101 lines (65 loc) • 3.07 kB
Markdown
[![npm version][npm-version-src]][npm-version-href]
[![npm downloads][npm-downloads-src]][npm-downloads-href]
czdb-search 支持 IPv4 和 IPv6 地址的查询。在创建 DbSearcher 实例时,你需要提供相应的数据库文件和密钥。
数据库文件和密钥可以从 [www.cz88.net](https://cz88.net/geo-public) 获取。
```bash
npm install czdb
```
```bash
yarn add czdb
```
```bash
pnpm add czdb
```
```typescript
// 引入DbSearcher
import DbSearcher, { QueryType } from "czdb";
// CommonJS 使用 require 引入:
// const { default: DbSearcher, QueryType } = require('czdb');
// 准备好你的.czdb文件与密钥
const IPV4_DB_PATH = "YOUR_IPV4_DB_PATH";
const IPV4_IP = "1.64.219.93";
const KEY = "YOUR_KEY_HERE";
// 创建查询实例
const searcher = new DbSearcher(IPV4_DB_PATH, QueryType.BTREE, KEY);
// 使用 search 方法来根据提供的 IP 地址在数据库中搜索数据
const region = searcher.search(IPV4_IP);
// 返回的字符串格式为 "国家–省份–城市–区域 ISP" (区域与ISP之间使用"\t"分割)。如果搜索失败,它将返回 null。
console.log(region); // 中国–香港 电讯盈科有限公司
// 获取数据库版本
const version = searcher.getVersion();
console.log(version); // 20250103
```
你可以在 example 文件夹下找到一个简单的使用样例,在填入路径与密钥后,运行以下命令以进行测试:
```bash
npm run test
```
DbSearcher 支持 2 种查询类型:`MEMORY` 和 `BTREE`。
`MEMORY`:此模式是线程安全的,将数据存储在内存中。
`BTREE`:此模式使用 `B-tree` 数据结构进行查询。
你可以在创建 `DbSearcher` 实例时选择查询类型。
```typescript
const searcher = new DbSearcher("YOUR_DB_PATH", QueryType.BTREE, "YOUR_KEY");
```
当查询结束且不再使用时,你应该关闭数据库。
```typescript
searcher.close();
```
这将释放所有使用的资源,并关闭对数据库文件的访问。
[]: https://img.shields.io/npm/v/czdb?style=flat-square
[]: https://npmjs.com/package/czdb
[]: https://img.shields.io/npm/dm/czdb?style=flat-square
[]: https://npmjs.com/package/czdb