---
title: "Cache a eager loading — Opening Hours for Laravel | Roundly"
description: "Cache definícií podľa revízie bez potreby invalidácie, memo v rámci requestu a zoznamy bez N+1 dotazov."
url: https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel/cache
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Opening Hours for Laravel](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel.md)

# Cache a eager loading

Skompilované definície sa cachujú podľa dvojice (kalendár, revízia). Každý zápis zvýši revíziu vo svojej transakcii, takže nie je čo invalidovať — staré kľúče jednoducho vypršia podľa cache.ttl. Cache ukladá obyčajné polia, nepoužíva tagy a funguje s akýmkoľvek store.

## Zoznamy bez N+1

```php
Clinic::query()->withOpeningHours()->paginate();                  // headers only (cache on)
Clinic::query()->withOpeningHours(definitions: true)->paginate(); // full definitions (cache off)
```

Pri zapnutej cache stačia hlavičky — revízia je uložená v hlavičke. Aplikácie bez cache načítajú celé definície cez definitions: true.

## Aktuálnosť

Priame úpravy rozvrhov, výnimiek a rozsahov cez Eloquent zvýšia revíziu automaticky. Po úpravách cez raw SQL, alebo keď sa zmení to, čo vracia openingHoursTimezone(), zavolajte refresh():

```php
use RoundlyConsulting\OpeningHours\Facades\OpeningHours;

OpeningHours::refresh($clinic);            // after raw SQL or a changed openingHoursTimezone()
OpeningHours::refresh($clinic, 'pickup');  // a named calendar
OpeningHours::flushMemo();                 // clear the per-request memo
```

Manager za fasádou je registrovaný ako scoped, takže jeho memo skompilovaných definícií žije jeden request alebo job — bezpečne pod Octane aj vo frontách. Hook časového pásma vlastníka a dynamickí poskytovatelia sa vyhodnocujú pri každom volaní a necachujú sa. Poškodený záznam v cache sa považuje za miss a definícia sa skompiluje znova. Definícia načítaná vo vnútri otvorenej databázovej transakcie sa necachuje ani neuloží do mema — po rollbacku by sa jej revízia použila znova.

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/opening-hours-for-laravel.md)
