[PHP] TextOfDatabase ,个人在几个月前写的简单的以纯文本文件作为数据库的数据库管理工具。

2014-02-13 04:20:53 +08:00
 jakwings
https://github.com/jakwings/TextOfDatabase

数据排序完全用 PHP 原生函数实现,搜索时也没有用什么特别的算法。

效率不敢说多好啦,假如每条记录储存的文本不多的话,存取两三万条应该是不会超过 128M 内存限制的,够个人博客使用了。

最大的缺点当然是不支持多线程写入数据。唯一的优点恐怕只是不需要额外的数据库软件吧。
2991 次点击
所在节点    分享创造
16 条回复
jakwings
2014-02-13 04:41:13 +08:00
假如有类似的东西,推荐一下吧~
Shared
2014-02-13 09:07:58 +08:00
看起来很有意思,怎么用的呢,有demo吗
jakwings
2014-02-13 09:18:12 +08:00
@Shared 主页已经指出说明页面了,那里有一些示例。详细说明直接看源代码的注释以及函数的定义也很好理解的。
xatest
2014-02-13 09:47:33 +08:00
jakwings
2014-02-13 10:04:57 +08:00
@xatest 谢~不过它和 pjjTextBase 很像,只适合储存简单的数据。
touch
2014-02-13 16:01:11 +08:00
@jakwings Connect($path)中这个$path是什么路径啊
jakwings
2014-02-13 16:09:13 +08:00
touch
2014-02-13 16:47:48 +08:00
@jakwings 就是datadir的路径中对应数据库的目录吧。
jakwings
2014-02-13 17:02:59 +08:00
@touch 一个数据库就是一个文件夹,里面会放置多个表格文件。

// 连接到数据库(文件夹)
$database->Connect($data_dir);

// 处理数据表
$database->Select($table_name, ...);

// 断开连接
$database->Disconnect();
touch
2014-02-13 17:23:58 +08:00
@jakwings mysql数据储存中没有extension是col的吧
jakwings
2014-02-13 17:30:44 +08:00
@touch 晕倒……我不是在模仿 MySQL 数据库。*.col 文件是用来保存表格头信息的。
touch
2014-02-14 16:05:37 +08:00
@jakwings 额,是我理解错了,以为是数据库的管理。你这是以文本table形式保存数据是吗
jakwings
2014-02-14 16:18:30 +08:00
@touch 嗯,不过不是以利于手动编辑的格式储存。
touch
2014-02-14 16:59:24 +08:00
@jakwings 调用顺序是这样
$database->Connect($path);
$database->CreateTable('test',array('ts1','ts2','ts3'));
$database->Insert('test',array('ts1'=>'1','ts2'=>'2','ts3'=>'3'));
print_r($database->Select('test',array('action'=>'GET')));
jakwings
2014-02-14 17:03:38 +08:00
@touch 哈,是的,之前忘了创建表格了。
jakwings
2014-02-14 17:07:13 +08:00
@touch 其实可以保存其它类型的数据的,取出的时候还是原来的类型。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/99965

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX