storh
storh to samodzielny magazyn danych PHP oparty na plikach: dokumenty JSONC, log segmentowany tylko do dopisywania oraz kolejka tylko do dopisywania. Przechowuje rekordy z identyfikatorami UUIDv7, obsługuje odczyt strumieniowy oraz zapytania kursorem lub według zakresu czasu, a zamiast serwera bazy danych korzysta z atomowych operacji systemu plików.
Wywołujący przekazują katalog. storh nie wykrywa ścieżek aplikacji, nie odczytuje stałych globalnych ani nie wymaga adaptera frameworka.
Silniki
DocStoreprzechowuje jeden plik JSONC na rekord, a ścieżki są partycjonowane według końcowych znaków UUID. Najlepiej sprawdza się przy odczytach pojedynczych rekordów według ID i zapytaniach o indeksowane pola.SegmentedLogdopisuje rekordy do plików segmentów jako wiersze JSON zabezpieczone prefiksem z długością w bajtach i sumą kontrolną. Najlepiej sprawdza się przy strumieniach intensywnie dopisywanych oraz odczytach kursorem i według zakresu czasu.Queuedopisuje trwałe zdarzenia zadań i przechowuje stan kolejki w pamięci. Najlepiej sprawdza się przy trwałym przekazywaniu pracy między procesami.
Nie wiesz, które rozwiązanie pasuje do Twojego obciążenia? Zobacz Wybór silnika, aby porównać je obok siebie.
DocStore, SegmentedLog i Queue to aliasy klas implementacyjnych DocPerFileStore, SegmentedLogStore i LogQueue, więc obie nazwy odnoszą się do tej samej klasy.
Wymagania
- PHP 8.2 lub nowsze
ext-json- lokalny lub zamontowany system plików obsługujący semantykę atomowej zmiany nazwy w obrębie katalogu