• Czas czytania ~1 min
  • 02.07.2022

LaraCache to oparty na ORM pakiet dla Laravel do tworzenia, aktualizowania i zarządzania elementami pamięci podręcznej na podstawie zapytań modelowych. Korzystając z tego pakietu, możesz buforować zapytania, których często używasz w swojej aplikacji.

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();
                })
        ];
    }
}

Używając metody cacheEntities do definiowania buforowanych zapytań, Laracache zajmie się resztą.Aby użyć zapytań z pamięci podręcznej, wywołaj model, jak w poniższym przykładzie:

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

Dzięki temu pakietowi możesz kontrolować pamięć podręczną za pomocą następujących funkcji:

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

Myślałem, że następująca ręczna metoda aktualizacji pamięci podręcznej jest fajna, odświeżając pamięć podręczną w locie:

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

Możesz dowiedzieć się o tym pakiecie, uzyskać pełne instrukcje instalacji i wyświetlić kod źródłowy na GitHub.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

O

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...

O autorze CrazyBoy49z
WORK EXPERIENCE
Kontakt
Ukraine, Lutsk
+380979856297