Laravel přidal nový memoizovaný ovladač mezipaměti, na kterém se podílela společnost @timacdonald který zdobí stávající ovladače mezipaměti ukládáním načtených hodnot do paměti během životního cyklu požadavku. To umožňuje, aby opakovaná volání stejného klíče mezipaměti byla vyřešena z paměti, čímž se sníží počet opakovaných volání základní mezipaměti.
Základní použití
Cache::get('foo'); // hits the cacheCache::get('foo'); // hits the cache Cache::memo()->get('foo'); // hits the cacheCache::memo()->get('foo'); // does NOT hit the cache
Příklad hodnoty
Cache::put('name', 'Taylor');Cache::get('name'); // "Taylor" Cache::put('name', 'Tim');Cache::get('name'); // "Tim" Cache::put('name', 'Taylor');Cache::memo()->get('name'); // "Taylor" Cache::put('name', 'Tim');Cache::memo()->get('name'); // "Taylor"
Zadání ovladače
Cache::memo()->get('name'); // default driverCache::memo('redis')->get('name'); // Redis driverCache::memo('database')->get('name'); // Database driver
Každé memoizované úložiště je izolováno pro každý ovladač:
Cache::driver('redis')->put('name', 'Taylor in Redis');Cache::driver('database')->put('name', 'Taylor in the database'); Cache::memo('redis')->get('name'); // "Taylor in Redis"Cache::memo('database')->get('name'); // "Taylor in the database"
Chování při mutaci
Memoizované ovladače při použití metod mutace zapomenou na hodnoty uložené v mezipaměti:
Cache::memo()->put('name', 'Taylor'); // writes and clears memoized 'name'Cache::memo()->get('name'); // hits cacheCache::memo()->get('name'); // memory
Kompletní informace naleznete v původním požadavku na stažení:
🔗 laravel/framework#55304