Saltar al contenido

storh

storh es un almacén de PHP independiente, basado en archivos: documentos JSONC, un registro segmentado de solo anexado y una cola de solo anexado. Almacena registros con identificadores UUIDv7, admite lecturas en flujo y consultas por cursor o intervalo de tiempo, y usa operaciones atómicas del sistema de archivos en lugar de un servidor de bases de datos.

Quien lo llama proporciona un directorio. storh no descubre rutas de la aplicación, no lee constantes globales ni requiere un adaptador de framework.

Motores

  • DocStore almacena un archivo JSONC por registro, con rutas fragmentadas por los UUID caracteres finales. Es la mejor opción para lecturas puntuales por identificador y consultas sobre campos indexados.
  • SegmentedLog añade registros a archivos de segmentos en líneas JSON protegidas por un prefijo con la longitud en bytes y la suma de comprobación. Es la mejor opción para flujos con muchos añadidos y lecturas por cursor o intervalo de tiempo.
  • Queue añade eventos de trabajo persistentes y mantiene el estado de la cola en memoria. Es la mejor opción para distribuir trabajos de forma duradera entre procesos.

¿No está seguro de cuál se adapta a su carga de trabajo? Consulte la Comparación de motores para verlos lado a lado.

DocStore, SegmentedLog y Queue son alias de clase de las clases de implementación DocPerFileStore, SegmentedLogStore y LogQueue, respectivamente, así que ambos nombres hacen referencia a la misma clase.

Requisitos

  • PHP 8.2 o posterior
  • ext-json
  • Un sistema de archivos local o montado con semántica de renombrado atómico dentro de un directorio

Próximos pasos