
# storh

storh är ett fristående PHP-lager byggt kring filer: JSONC-dokument,
en segmenterad logg med endast tillägg och en kö med endast tillägg. Det lagrar poster med
UUIDv7-id:n, stöder strömmande läsningar och markör- eller tidsintervallsfrågor samt använder
atomära filsystemsåtgärder i stället för en databasserver.

Anroparen anger en katalog. storh hittar inte applikationssökvägar, läser
inte globala konstanter och kräver ingen ramverksadapter.

## Motorer

- `DocStore` lagrar en JSONC-fil per post med sökvägar uppdelade efter UUID-suffix.
  Bäst för punktläsningar med id och indexerade fältsökningar.
- `SegmentedLog` lägger till poster i segmentfiler som JSON-rader, skyddade av ett prefix
  med bytelängd och kontrollsumma. Bäst för strömmar med många tillägg och läsningar med markör
  eller tidsintervall.
- `Queue` lägger till beständiga jobbhändelser och håller köstatus i minnet. Bäst
  för beständig arbetsdistribution mellan processer.

Osäker på vilken som passar din arbetsbelastning? Se
[Välja en motor](https://storh.inline0.dev/sv/docs/engines#choosing-an-engine) för en jämförelse sida vid sida.

`DocStore`, `SegmentedLog` och `Queue` är klassalias för
implementationsklasserna `DocPerFileStore`, `SegmentedLogStore` och `LogQueue`,
så båda namnen syftar på samma klass.

## Krav

- PHP 8.2 eller senare
- `ext-json`
- ett lokalt eller monterat filsystem med semantik för atomärt namnbyte i en katalog

## Vad härnäst

- [Installera](https://storh.inline0.dev/sv/docs/install)
- [Snabbstart](https://storh.inline0.dev/sv/docs/quick-start)
- [Motorer](https://storh.inline0.dev/sv/docs/engines)
- [Skalning och begränsningar](https://storh.inline0.dev/sv/docs/scaling-limits)
