storh
storh ist ein eigenständiger PHP-Datenspeicher, der auf Dateien basiert: JSONC-Dokumente, ein segmentiertes Protokoll, an das nur angehängt wird, und eine ebensolche Warteschlange. Er speichert Datensätze mit UUIDv7-IDs, unterstützt Streaming-Lesevorgänge sowie Abfragen mit Cursor oder Zeitbereich und verwendet atomare Dateisystemoperationen statt eines Datenbankservers.
Aufrufende geben ein Verzeichnis vor. storh ermittelt keine Anwendungspfade, liest keine globalen Konstanten und benötigt keinen Framework-Adapter.
Engines
DocStorespeichert pro Datensatz eine JSONC-Datei mit nach den letzten UUID Zeichen aufgeteilten Pfaden. Ideal für direkte Lesezugriffe per ID und Abfragen über indizierte Felder.SegmentedLoghängt Datensätze als JSON-Zeilen mit einem Präfix aus Bytelänge und Prüfsumme an Segmentdateien an. Ideal für Streams mit vielen Anhängevorgängen und Lesezugriffen per Cursor oder Zeitbereich.Queuehängt dauerhafte Auftragsereignisse an und hält den Warteschlangenzustand im Arbeitsspeicher. Ideal für die dauerhafte Aufgabenverteilung zwischen Prozessen.
Du bist unsicher, welche Engine zu deiner Arbeitslast passt? Unter Eine Engine auswählen findest du einen direkten Vergleich.
DocStore, SegmentedLog und Queue sind Klassenaliase der Implementierungsklassen DocPerFileStore, SegmentedLogStore und LogQueue. Beide Namen verweisen also auf dieselbe Klasse.
Voraussetzungen
- PHP 8.2 oder höher
ext-json- ein lokales oder eingebundenes Dateisystem mit Semantik für atomare Umbenennungen innerhalb eines Verzeichnisses