Coodb {{ api_version }}

/coodb.json

Coodb API 文档

高性能的键值存储数据库,基于 bitcask 模型实现。

default

GET / 获取API根路径

返回API根路径信息,包含版本号和基本信息

响应

状态码 描述
200 成功获取API根路径信息
GET /api/v1/keys 获取所有键
键值操作

返回数据库中所有的键列表

响应

状态码 描述
200 成功获取所有键

响应模型

{
  "keys": [
    "string"
  ]
}
GET /api/v1/keys/{key} 获取键值
键值操作

根据指定的键获取对应的值

参数

名称 位置 类型 必须 描述
key path string 必须 要获取的键

响应

状态码 描述
200 成功获取值
404 键不存在

响应模型

{
  "key": "string",
  "value": "string",
  "encoding": "base64" // 可选
}
PUT /api/v1/keys/{key} 设置键值
键值操作

设置指定键的值,如果键不存在则创建

参数

名称 位置 类型 必须 描述
key path string 必须 要设置的键

请求体

{
  "value": "string",
  "encoding": "base64" // 可选
}

响应

状态码 描述
200 成功设置值
400 请求格式错误
DELETE /api/v1/keys/{key} 删除键值
键值操作

删除指定的键值对

参数

名称 位置 类型 必须 描述
key path string 必须 要删除的键

响应

状态码 描述
200 成功删除值
404 键不存在
POST /api/v1/batch 批量操作
批量操作

执行多个键值操作,作为一个原子事务

请求体

[
  {
    "operation": "put",
    "key": "string",
    "value": "string",
    "encoding": "base64" // 可选
  },
  {
    "operation": "delete",
    "key": "string"
  }
]

响应

状态码 描述
200 成功执行批量操作
400 请求格式错误
GET /api/v1/stats 获取数据库统计信息
管理操作

获取数据库的统计信息,包括键数量、文件数、可回收空间大小等

响应

状态码 描述
200 成功获取统计信息

响应模型

{
  "key_num": 0,
  "data_file_num": 0,
  "reclaimable_size": 0,
  "disk_size": 0
}
POST /api/v1/merge 执行数据库合并操作
管理操作

执行数据库文件合并,回收无效空间

响应

状态码 描述
200 成功执行合并操作
500 合并操作失败

Schemas

KeysResponse

{
  "keys": [
    "string"
  ]
}

KeyValueResponse

{
  "key": "string",
  "value": "string",
  "encoding": "base64" // 可选
}

ValueRequest

{
  "value": "string",
  "encoding": "base64" // 可选
}

BatchOperation

{
  "operation": "put" | "delete",
  "key": "string",
  "value": "string", // 仅 put 操作需要
  "encoding": "base64" // 可选
}

SuccessResponse

{
  "success": true
}

ErrorResponse

{
  "error": "string"
}

StatsResponse

{
  "key_num": 0,
  "data_file_num": 0,
  "reclaimable_size": 0,
  "disk_size": 0
}