JsonDB php json数据库 NoSql
生活随笔
收集整理的這篇文章主要介紹了
JsonDB php json数据库 NoSql
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
項目介紹
JsonDB
是一個由原生PHP實現的文件數據庫,JsonDB只有一個文件,如果你不想使用龐大的數據庫系統,而且只需要單機功能,那么JsonDB就是你最佳的選擇。 JsonDB只有初始化寫入和查詢功能,所以適用于比較固定的,數據量不大的數據,比如地區.
項目地址:https://gitee.com/web/JsonDB
軟件架構
由純原生PHP實現的json文件數據庫,將數據存儲為json格式,不占用mysql資源純以讀寫文件的形式查詢數據庫,寫法類似于thinkphp的查詢.支持壓縮存儲json大大減少空間占用
使用說明
<?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 可自行擴展
_logic 定義 and 或 or
效率測試
幾位同學對效率問題提出質疑,以簡單的在本地測試了一下不知道合不合理下面是代碼
$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轉載于:https://my.oschina.net/xiaogg/blog/1865910
總結
以上是生活随笔為你收集整理的JsonDB php json数据库 NoSql的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于Elasticsearch实现搜索建
- 下一篇: Java高级编程细节-动态代理-进阶高级