JsonDB php json數據庫 NoSql

項目介紹

JsonDBphp

是一個由原生PHP實現的文件數據庫,JsonDB只有一個文件,若是你不想使用龐大的數據庫系統,並且只須要單機功能,那麼JsonDB就是你最佳的選擇。 JsonDB只有初始化寫入和查詢功能,因此適用於比較固定的,數據量不大的數據,好比地區.html

項目地址:https://gitee.com/web/JsonDBmysql

軟件架構

由純原生PHP實現的json文件數據庫,將數據存儲爲json格式,不佔用mysql資源純以讀寫文件的形式查詢數據庫,寫法相似於thinkphp的查詢.支持壓縮存儲json大大減小空間佔用git

使用說明

<?php
header("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');
?>

支持查詢語法:eq,neq,like,in,notin,gt,lt,egt,elt 可自行擴展web

_logic 定義 and 或 orsql

效率測試

幾位同窗對效率問題提出質疑,以簡單的在本地測試了一下不知道合不合理下面是代碼thinkphp

$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
相關文章
相關標籤/搜索