Hoppa till innehåll

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 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