Перейти до вмісту

storh

storh — це автономне файлове сховище PHP, побудоване на файлах: документи JSONC, сегментований журнал лише для додавання та черга лише для додавання. Воно зберігає записи з ідентифікаторами UUIDv7, підтримує потокове читання та запити курсором або за часовим діапазоном і використовує атомарні операції файлової системи замість сервера бази даних.

Викликаючий код передає каталог. storh не визначає шляхи програми автоматично, не читає глобальні константи й не потребує адаптера фреймворку.

Рушії

  • DocStore зберігає кожен запис в окремому файлі JSONC зі шляхами, розподіленими за кінцевими символами UUID. Найкраще підходить для точкового читання за ідентифікатором і запитів за індексованими полями.
  • SegmentedLog додає записи до файлів сегментів у вигляді рядків JSON, захищених префіксами довжини в байтах і контрольної суми. Найкраще підходить для потоків з інтенсивним додаванням і читанням курсором або за часовим діапазоном.
  • Queue додає довговічні події завдань і зберігає стан черги в пам’яті. Найкраще підходить для довговічної передачі завдань між процесами.

Не впевнені, який рушій підійде для вашого робочого навантаження? Дивіться Вибір рушія, щоб порівняти їх поруч.

DocStore, SegmentedLog і Queue — це псевдоніми класів реалізацій DocPerFileStore, SegmentedLogStore і LogQueue, тому обидві назви посилаються на той самий клас.

Вимоги

  • PHP 8.2 або новіша
  • ext-json
  • локальна або змонтована файлова система з підтримкою атомарного перейменування в межах каталогу

Що далі