项目介绍

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相关推荐

  1. 非关系型数据库NoSQL的崛起

    非关系型数据库NoSQL的崛起 <连线>杂志网络版近日刊载文章,对NoSQL(非关系型数据库)的来源与历史进行了追溯.文章主要介绍了最古老的NoSQL数据库之一CouchDB,这种数据库的 ...

  2. api ajax解析json数据库,api ajax解析json数据库

    api ajax解析json数据库 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务 ...

  3. 分享:RethinkDB 1.3 发布,分布式 JSON 数据库

    RethinkDB 1.3 发布,分布式 JSON 数据库 http://www.oschina.net/news/36001/rethinkdb-1-3

  4. Python:在小型项目中使用JSON数据库的利器——TinyDB

    hello,大家好,我是wangzirui32,今天来教大家如何使用TinyDB来管理JSON数据库,开始学习吧! 学习目录 1. pip安装 2. 创建JSON数据库 3. JSON数据库表操作 3 ...

  5. 常见非关系型数据库(NoSQL)推荐介绍

    2019独角兽企业重金招聘Python工程师标准>>> 随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域, 非关系数据库产品的发展非常迅速.而传统的关系 ...

  6. 【云计算与大数据技术】分布式数据库NoSQL中KV、列式、图、文档数据库的讲解(图文解释 超详细)

    一.NoSQL数据库概述 NoSQL泛指非关系型数据库,相对于传统关系型数据库,NoSQL有着更复杂的分类,包括KV数据库,文档数据库,列式数据库以及图数据库等等,这些类型的数据库能够更好的适应复杂类 ...

  7. 常见的几个非关系型数据库(NoSQL)、非关系型和关系型的区别

    目录  非关系型数据库的特点 -------------------------------. 1.关系型数据库 ------------------------------------ 2. 关系型 ...

  8. 关系型数据库MySql与非关系型数据库NoSql

    云计算背后的秘密:NoSQL诞生的原因和优缺点 我本来一直觉得NoSQL其实很容易理解的,我本身也已经对NoSQL有了非常深入的研究,但是在最近准备YunTable的Chart的时候,发现NoSQL不 ...

  9. html5展示json数据库,显示数据在html5从数据库使用javascript和json

    我想从MySQL数据库显示在html中的列表.要从MySQL获取数据我使用json和javascript.但它什么也没有显示!显示数据在html5从数据库使用javascript和json 我的HTM ...

最新文章

  1. 你必须掌握的 21 个 Java 核心技术!
  2. java io 网络编程_[笔面] Java IO和网络编程相关面试
  3. 图像处理(一)——使用matlab放缩图像
  4. 【十二省联考2019】皮配【分部dp】
  5. 信息学奥赛一本通C++语言——1046:判断一个数能否同时被3和5整除
  6. python实现文件传输_Python使用socket实现简单的文件传输并校验
  7. php smarty php函数,smarty中使用php函数的方法
  8. 并行开发的基本概念及两个重要的定律
  9. mysql order by 语句_Mysql优化order by语句的方法详解
  10. knife4j--api请求参数不一致问题
  11. 粒子群对函数的优化 matlab,编译通过
  12. 技术人员就不要当资金股东了
  13. 电子邮件服务器怎样匿名转发功能,技巧:你为什么不能匿名发送电子邮件
  14. Java UI设计 计算三角形周长
  15. 计算机职业访谈ppt,大学职业生涯人物访谈.ppt
  16. 对图像作LUT处理是什么意思
  17. 鸿蒙招聘店铺主是真的吗,为什么很多店铺门口贴着招聘,然而进去问都说招满了,但是招聘的内容还是放在那不收走?...
  18. 算法:递归(汉诺塔)
  19. PAT 1063 计算谱半径
  20. 【U8+】总账期初余额开账按钮是灰色的

热门文章

  1. 算法1-排序LowB三人组
  2. iOS设计模式(02):单例模式
  3. 大地震前有三个明显征兆:1.井水异常2.牲畜反应异常3.专家出来辟谣。但是细心网友指出,第三和第二重复了。...
  4. 在.NET 3.5 平台上使用LINQ to SQL创建三层/多层Web应用系统(Part2) 转
  5. hdu5108枚举因子求最小的m
  6. 计算机网络-IP地址的分类
  7. 【C 语言】结构体 ( 结构体中嵌套二级指针 | 为 结构体内的二级指针成员 分配内存 | 释放 结构体内的二级指针成员 内存 )
  8. 【FFmpeg】使用 FFmpeg 处理音视频格式转换流程 ( 解复用 | 解码 | 帧处理 | 编码 | 复用 )
  9. 【Android 属性动画】属性动画 Property Animation 简介 ( 属性动画简介 | 属性动画特性 )
  10. ECharts简单入门demo