跳转到正文

storh

storh 是一个独立的 PHP 文件数据存储,包含 JSONC 文档、仅追加的分段日志和仅追加的队列。它使用 UUIDv7 ID 存储记录,支持流式读取及游标或时间范围查询,并使用文件系统原子操作,而无需数据库服务器。

调用方提供目录。storh 不会查找应用程序路径、读取全局常量,也不需要框架适配器。

引擎

  • DocStore 为每条记录存储一个 JSONC 文件,路径按 UUID 尾部字符分片。 最适合按 ID 点查和按索引字段查询。
  • SegmentedLog 将记录以 JSON 行的形式追加到分段文件,并以字节长度和校验和前缀进行保护。最适合追加密集型数据流,以及游标和时间范围读取。
  • Queue 追加持久化任务事件,并将队列状态保存在内存中。最适合在进程间持久化分发任务。

不确定哪一种适合你的工作负载?请参阅选择引擎,查看并列比较。

DocStore、SegmentedLog 和 Queue 是实现类 DocPerFileStore、SegmentedLogStore 和 LogQueue 的类别名,因此两个名称指向同一个类。

要求

  • PHP 8.2 或更高版本
  • ext-json
  • 支持在目录内原子重命名的本地或挂载文件系统

接下来