Přejít k obsahu

storh

storh je samostatné úložiště PHP založené na souborech: dokumenty JSONC, segmentovaný log pouze s přidáváním na konec a fronta se stejným principem. Ukládá záznamy s UUIDv7 ID, podporuje streamované čtení a dotazy pomocí kurzoru nebo časového rozsahu a místo databázového serveru využívá atomické operace souborového systému.

Volající zadávají adresář. storh sám nevyhledává cesty aplikace, nečte globální konstanty a nevyžaduje adaptér frameworku.

Enginy

  • DocStore ukládá pro každý záznam jeden soubor JSONC do cesty rozdělené podle posledních UUID znaků. Nejlépe se hodí pro jednotlivá čtení podle ID a dotazy na pole s indexem.
  • SegmentedLog přidává záznamy do souborů segmentů jako řádky JSON chráněné prefixem s délkou v bajtech a kontrolním součtem. Nejlépe se hodí pro proudy s častým přidáváním a čtením pomocí kurzoru či časového rozsahu.
  • Queue přidává trvalé události úloh a uchovává stav fronty v paměti. Nejlépe se hodí pro trvalé předávání práce mezi procesy.

Nejste si jistí, který engine vyhovuje vaší zátěži? Podívejte se na Výběr enginu, kde najdete přímé srovnání.

DocStore, SegmentedLog a Queue jsou aliasy tříd implementací DocPerFileStore, SegmentedLogStore a LogQueue, takže obě označení odkazují na stejnou třídu.

Požadavky

  • PHP 8.2 nebo novější
  • ext-json
  • místní nebo připojený souborový systém s podporou atomického přejmenování v rámci adresáře

Kam dál