• Час читання ~1 хв
  • 02.07.2022

LaraCache — це пакет на основі ORM для Laravel для створення, оновлення та керування елементами кешу на основі запитів моделі. Використовуючи цей пакет, ви можете кешувати запити, які ви часто використовуєте у своїй програмі.

use Mostafaznv\LaraCache\Traits\LaraCache;
 
class Article extends Model
{
    use LaraCache;
 
    public static function cacheEntities(): array
    {
        return [
            CacheEntity::make('list.forever')
                ->cache(function() {
                    return Article::query()->latest()->get();
                }),
 
            CacheEntity::make('latest')
                ->validForRestOfDay()
                ->cache(function() {
                    return Article::query()->latest()->first();
                })
        ];
    }
}

Використовуючи метод cacheEntities для визначення кешованих запитів, Laracache подбає про інше.Щоб використовувати кешовані запити, ви можете викликати модель, як у наведеному нижче прикладі:

use Mostafaznv\LaraCache\Facades\LaraCache;
 
 
$cache = Article::cache()->get('latest');
// or
$cache = LaraCache::retrieve(Article::class, 'latest');

За допомогою цього пакета ви можете керувати кешом за допомогою таких функцій:

  • Enable/disable cache
  • Update cache manually
  • Update all cache entities manually
  • delete cache
  • Control CacheEntity duration using fluent methods or a ttl() method

Я вважаю, що наступний метод оновлення кешу вручну був акуратним, оновлюючи ваш кеш на льоту:

Article::cache()->update('latest');
// or
LaraCache::update(Article::class, 'latest');

Ви можете дізнатися про цей пакет, отримати повні інструкції зі встановлення та переглянути вихідний код на GitHub.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Про автора CrazyBoy49z
WORK EXPERIENCE
Контакти
Ukraine, Lutsk
+380979856297