当前位置:首页>php>PHP 轻量级开源 NoSQL 数据库 SleekDB

PHP 轻量级开源 NoSQL 数据库 SleekDB

  • 2026-10-11 10:50:12
PHP 轻量级开源 NoSQL 数据库 SleekDB

概述

SleekDB 是一个简单的 PHP 实现的扁平文件 NoSQL 数据库,没有任何第三方依赖。它将数据存储在纯 JSON 文件中,使其轻量级且易于使用。

与 SQLite、MySQL、PostgreSQL 等关系型数据库不同,SleekDB 是一个 NoSQL 数据库;你可以把它想象成 MongoDB,但更简单且没有额外的负担。

它专为管理几 GB 的数据而设计,适用于低到中等操作负载。如果你需要一个简单的数据库解决方案,且不需要高负载的 IO 操作,SleekDB 就是为你而生的。

支持 PHP 8.4 及以上版本,仅需 ext-json 和 ext-mbstring 两个扩展即可运行。

安装

使用 composer 安装

composer require sleekdb/sleekdb

SleekDB 应该会通过 composer 自动加载到您的应用中。一行命令搞定,零配置启动。

核心亮点

  1. 轻松便捷的数据管理 整个库非常小巧,核心代码精简。数据直接以纯 JSON 格式存储,便于阅读、备份和迁移——直接复制整个数据库文件夹就能完成备份。

  2. 强大的查询能力

  • 支持嵌套属性查询(如 user.address.city)
  • 条件查询:where、orWhere、LIKE、IN、BETWEEN、EXISTS 等
  • 全文搜索,带相关性评分(searchScore),可指定搜索字段和排序算法
  • 分页(limit / skip)、排序、去重(distinct)、分组(groupBy)和聚合操作
  • Join 支持,通过闭包灵活关联多个 Store(类似于表)
  • 内置查询缓存,大幅提升重复查询的性能,让动态页面表现得像静态站点一样快
  1. 更好的并发处理 与传统单文件平面数据库不同,SleekDB 使用多个 JSON 文件 + 文件锁机制来提升并发能力。虽然仍不适合高并发重写场景,但对于低到中流量网站已足够实用。

  2. 开发者友好  API 设计简洁直观,文档详尽且附带大量示例。无论是 CRUD 操作、复杂查询还是自定义选择函数,都能快速上手。

实际使用场景举例

假设你要开发一个个人博客系统,使用 SleekDB 来存储文章数据:

useSleekDB\Store;// 创建文章存储$articles = new Store("articles", __DIR__ . "/database");// 插入一篇文章$articles->insert(["title" => "SleekDB 入门指南","content" => "这是一篇关于轻量级 PHP 数据库的文章...","author" => ["name" => "Tinywan", "email" => "example@email.com"],"tags" => ["php", "nosql"],"created_at" => date("Y-m-d H:i:s")]);// 全文搜索并按相关性排序$results = $articles->search(["title", "content"], "PHP 数据库", ["searchScore" => "DESC"]);// 分页查询最新文章$latest = $articles->createQueryBuilder()    ->orderBy(["created_at" => "DESC"])    ->limit(10)    ->skip(0)    ->fetch();

整个过程无需连接数据库服务器,代码干净且易维护。

官方:https://sleekdb.github.io

最新文章

随机文章