YKDB — 高性能文本数据库
版本:v3.2 (2026-02-12) | 状态:生产就绪 (Production Ready)
下载:https://1syan.com/files/ykdb/ykdb.zip
简介
YKDB 是一个纯 PHP 实现的超轻量级、高性能文本数据库系统,无需 MySQL 等重型数据库依赖。数据以纯文本文件形式存储,支持定长字段和不定长字段混合存储,拥有极高的读写性能和并发处理能力。
YKDB 无需复杂配置,无需安装任何扩展,只要环境能跑 PHP 就能立即使用。特别适合中小型网站、API 缓存、日志系统、临时数据存储等场景。
核心特性
| 特性 | 说明 |
|---|---|
| 极速读写 | 独创文件指针定位技术,百万级数据秒级读取 |
| 零依赖 | 纯 PHP 代码,无需 PDO/MySQLi,无需数据库服务器 |
| 高并发 | 内置文件锁机制 + 写入队列,支持多进程安全并发写入 |
| 灵活搜索 | 支持精确搜索、模糊搜索、批量搜索及字段排序 |
| 混合存储 | 定长字段(类似 CHAR,存取极快)+ 不定长字段(类似 TEXT) |
快速上手
1. 字段配置 (data.php)
在使用之前,先定义数据库结构。创建一个 data.php 文件:
;name,100;age,10;status,5
格式说明:字段名,长度,以分号分隔。
2. 初始化数据库
<?php
require 'ykdb.php';
$db = new YKDB();
$db->路径 = './data/'; // 数据存储目录(确保可写权限)
$db->名称 = 'user_data'; // 数据库文件名
$db->配置 = $db->配置('data.php'); // 加载字段定义
?>
3. 写入数据
$new_user = [
'name' => '张三',
'age' => 25,
'status' => 1,
'bio' => '这是一段很长的自我介绍...',
'address'=> '北京市朝阳区'
];
// 写入新记录,返回自增 ID
$id = $db->写入($new_user);
if ($id) {
echo "写入成功,用户 ID: $id";
} else {
echo "写入失败";
}
4. 读取数据
// 读取 ID 为 100 的记录(返回所有字段)
$user = $db->读取(100);
print_r($user);
// 读取 ID 为 100 的记录,仅返回 name 和 age 字段(性能更优)
$user_part = $db->读取(100, 'name|age');
echo "用户名: " . $user_part['name'];
5. 更新数据
更新数据时只需在写入时带上 ID:
$update_data = [
'age' => 26,
'bio' => '更新后的介绍'
];
// 更新 ID 为 100 的记录
$db->写入($update_data, 100);
6. 删除数据
// 删除 ID 为 100 的记录
$db->删除(100);
// 删除并指定清理哪些字段(可选)
$db->删除(100, 'bio|address');
7. 搜索数据
// 精确搜索:查找 name 为 "张三" 的记录 ID
$ids = $db->搜索('name=>张三');
// 模糊搜索(默认模式):查找 name 包含 "张" 的记录
// 注意:搜索仅支持定长字段
$ids = $db->搜索('name=>张');
// 多条件搜索(AND 关系)
$ids = $db->搜索('name=>张|age=>25');
if ($ids) {
echo "找到匹配记录 ID: " . implode(',', $ids);
}
8. 批量搜索(OR 关系)
// 查找 status 为 1 或 2 或 3 的记录
$ids = $db->批量搜索('status=>1||2||3');
9. 排序与分页
// 按 age 字段升序排序,返回排序后的 ID 数组
$sorted_ids_asc = $db->排序('age', '升');
// 按 age 字段降序排序
$sorted_ids_desc = $db->排序('age', '降');
// 数组分页:将 ID 数组分页显示
// 参数:数组, 页码, 每页数量
$page_data = $db->数组分页($sorted_ids_desc, 1, 20);
print_r($page_data);
注意事项
- 目录权限:确保
$db->路径指向的目录具有读写权限(0755 或 0777) - 定长字段:搜索和排序仅支持定长字段,长度设定后修改需谨慎(涉及数据迁移)
- 数据备份:YKDB 数据是普通文本文件,备份只需复制整个
data/目录
技术支持
如有问题或建议,欢迎在评论区反馈。
YKDB — 让数据存储回归简单。
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧



暂无评论内容