Podėliavimas
storh turi nedidelius talpyklos modulius ir nereikalauja vykdymo aplinkos priklausomybių:
use Storh\Cache;
use Storh\CacheValidation;
$docs = new Storh\DocStore($root, 'pages', cache: Cache::memory(maxEntries: 10000));
$docs = new Storh\DocStore($root, 'pages', cache: Cache::apcu('storh.pages'));
$docs = new Storh\DocStore(
$root,
'pages',
cache: Cache::memory(maxEntries: 100000, maxBytes: 96 * 1024 * 1024),
cache_validation: CacheValidation::TRUST
);
Talpyklos sluoksniai:
- iškoduoti DocStore įrašai
- nerastų įrašų paieškos talpykloje
- segmentuoto žurnalo manifestai
- reti segmentų indeksai
Tikrinimo režimai:
CacheValidation::STAT: tikrinti, ar failas egzistuoja, jo keitimo laiką ir dydį.CacheValidation::HASH: tikrinti, ar failas egzistuoja, jo keitimo laiką, dydį ir turinio maišą.CacheValidation::TRUST: praleisti failų sistemos tikrinimą, kai duomenys yra talpykloje, ir pasitikėti esama storh instancija arba bendra talpyklos saugykla, kad ji paskelbs aiškius storh įrašymus.
STAT yra numatytasis greitasis tikrinimo režimas. Naudokite HASH, kai kiekvieno talpyklos įrašo naudojimo metu reikia patikrinti ir failo turinį, įskaitant tokio pat dydžio įrašus, kurie nekeičia keitimo laiko.
STAT neaptinka turinio pakeitimų už sistemos ribų, jei nepasikeitė nei keitimo laikas, nei dydis. TRUST yra greičiausias režimas vieno proceso arba bendros talpyklos aplinkose; jis tyčia neaptinka failų, pakeistų už storh ribų.
Cache::memory() ribojamas įrašų skaičiumi ir baitų kiekiu. Jei maxBytes nenurodytas, biudžetas apskaičiuojamas pagal PHP memory_limit.
Cache::apcu() yra pasirenkama. Jei APCu nepasiekiama arba išjungta dabartinėje SAPI, ji veikia kaip tuščias modulis.
Kada prijungti talpyklos modulį
DocStore visada palaiko nedideles kiekvienos instancijos talpyklas jau perskaitytiems arba įrašytiems įrašams ir tikrina juos pagal sukonfigūruotą režimą. Prijungus modulį, talpykla išlieka ilgiau nei pati instancija: Cache::memory() naudingas ilgai veikiantiems procesams, kurie iš naujo atidaro saugyklas, o Cache::apcu() leidžia dalytis iškoduotais įrašais tarp PHP-FPM užklausų. etaloniniai bandymai rodo, kad atminties modulis šaltą įrašą nuskaito maždaug per 83 µs, o šiltą, pagal STAT patikrintą įrašą – per 6 µs.