首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >PHP 轻量级开源 NoSQL 数据库 SleekDB

PHP 轻量级开源 NoSQL 数据库 SleekDB

作者头像
Tinywan
发布2026-07-01 16:05:12
发布2026-07-01 16:05:12
1200
举报
文章被收录于专栏:开源技术小栈开源技术小栈

概述

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

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

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

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

安装

使用 composer 安装

代码语言:javascript
复制
composer require sleekdb/sleekdb

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

核心亮点

  1. 轻松便捷的数据管理 整个库非常小巧,核心代码精简。数据直接以纯 JSON 格式存储,便于阅读、备份和迁移——直接复制整个数据库文件夹就能完成备份。
  2. 强大的查询能力
  • 支持嵌套属性查询(如 user.address.city
  • 条件查询:whereorWhereLIKEINBETWEENEXISTS
  • 全文搜索,带相关性评分(searchScore),可指定搜索字段和排序算法
  • 分页(limit / skip)、排序、去重(distinct)、分组(groupBy)和聚合操作
  • Join 支持,通过闭包灵活关联多个 Store(类似于表)
  • 内置查询缓存,大幅提升重复查询的性能,让动态页面表现得像静态站点一样快
  1. 更好的并发处理 与传统单文件平面数据库不同,SleekDB 使用多个 JSON 文件 + 文件锁机制来提升并发能力。虽然仍不适合高并发重写场景,但对于低到中流量网站已足够实用。
  2. 开发者友好 API 设计简洁直观,文档详尽且附带大量示例。无论是 CRUD 操作、复杂查询还是自定义选择函数,都能快速上手。

实际使用场景举例

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

代码语言:javascript
复制
use SleekDB\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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-04-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源技术小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 安装
  • 核心亮点
  • 实际使用场景举例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档