storh
storh je samostojna shramba PHP, zasnovana na datotekah: dokumenti JSONC, segmentiran dnevnik, v katerega se samo dodaja, in čakalna vrsta, v katero se samo dodaja. Zapise hrani z ID-ji UUIDv7, podpira pretočno branje ter poizvedbe s kazalcem ali časovnim razponom in uporablja atomske operacije datotečnega sistema namesto strežnika podatkovne baze.
Klicatelji podajo imenik. storh sam ne poišče poti aplikacije, ne bere globalnih konstant in ne zahteva prilagodilnika za ogrodje.
Mehanizmi
DocStoreshrani eno datoteko JSONC za vsak zapis na poti, razdeljeni po zadnjih znakih UUID. Najprimernejši je za branje po posameznih ID-jih in poizvedbe po indeksiranih poljih.SegmentedLogdodaja zapise v datoteke segmentov kot vrstice JSON, zaščitene s predpono z dolžino v bajtih in kontrolno vsoto. Najprimernejši je za pretoke z veliko dodajanji ter branje s kazalcem in po časovnem razponu.Queuedodaja trajne dogodke opravil in hrani stanje čakalne vrste v pomnilniku. Najprimernejši je za trajno razpošiljanje opravil med procesi.
Niste prepričani, kateri ustreza vaši delovni obremenitvi? Oglejte si Izbira mehanizma za vzporedno primerjavo.
DocStore, SegmentedLog in Queue so vzdevki razredov za izvedbene razrede DocPerFileStore, SegmentedLogStore in LogQueue, zato se obe imeni nanašata na isti razred.
Zahteve
- PHP 8.2 ali novejši
ext-json- lokalni ali priklopljeni datotečni sistem s semantiko atomskega preimenovanja znotraj imenika