27
2025
03
16:16:03

JsonDB

https://gitee.com/web/JsonDB


JsonDB

项目介绍

JsonDB

是一个由原生PHP实现的文件数据库,JsonDB只有一个文件,如果你不想使用庞大的数据库系统,而且只需要单机功能,那么JsonDB就是你最佳的选择。 JsonDB只有初始化写入和查询功能,所以适用于比较固定的,数据量不大的数据,比如地区.

帮助使用文档:https://gitee.com/web/JsonDB/wikis

软件架构

由纯原生PHP实现的json文件数据库,将数据存储为json格式,不占用mysql资源纯以读写文件的形式查询数据库,写法类似于thinkphp的查询.支持压缩存储json大大减少空间占用

使用说明

<?phpheader("content-Type: text/html; charset=utf-8");include('JsonDB.class.php');
$db = new JsonDB('areazip');
$param=array();
$param['pid']=130;
$param['id']=130;
$param['_logic']='or';
$area=$db->select($param);

$param=array();
$param['name']=array('like','河北');
$area=$db->select($param,1);//增加limit参数 提高效率$param=array();
$param['id']=130;
$areaname=$db->find($param,'name');//新增方法 注数据库文件太大时可能会超时可加ini_set('memory_limit','1024M');$areainfo=$db->findBy(10000,'id',0);//查询字段是id = 10000的数据 最后一个参数为是否为模糊搜索$db->updateBy(10000,'id',$data,0););//查询字段是id = 10000的数据 并更新成新数据?>

支持查询语法:eq,neq,like,in,notin,gt,lt,egt,elt 可自行扩展

_logic 定义 and 或 or

案例

https://gitee.com/web/mobileLocation

效率测试

几位同学对效率问题提出质疑,以简单的在本地测试了一下不知道合不合理下面是代码

$startTime = microtime(true);
$array=array();for($i=1; $i<=100000; $i++){
    $array[]=array("id"=>$i,"name"=>"name".$i,"pinyin"=>$i,"pid"=>"0","status"=>"0","sort"=>"0","temp"=>"","letter"=>"\ufeffZ","level"=>"0","region"=>"0");
}
$area=$db->add($array,1);
$endTime = microtime(true);echo '添加成功,耗时: ' .(($endTime - $startTime)*1000) . 'ms';//耗时: 597.57590293884ms  612.07795143127ms$startTime = microtime(true);
$param=array();
$param['id']=100000;
$area=$db->select($param);
print_r($area);
$endTime = microtime(true);echo '查询成功,耗时: ' .(($endTime - $startTime)*1000) . 'ms';//耗时: 1074.1360187531ms




推荐本站淘宝优惠价购买喜欢的宝贝:

JsonDB

本文链接:https://hqyman.cn/post/9853.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: