---
title: "Kešovanie — Connections for Laravel | Roundly"
description: "Kontroly oprávnení sa pamätajú pre každú dvojicu connector–connectable, invalidujú sa pri každom zápise a obídete ich cez force: true."
url: https://roundly-consulting.com/sk/open-source/navody/connections-for-laravel/kesovanie
language: sk
---

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

[Connections for Laravel](https://roundly-consulting.com/sk/open-source/navody/connections-for-laravel.md)

# Kešovanie

hasPermissionThroughConnection() — a všetko, čo na ňom stojí: varianty any/all, permissions()->has() / hasAny() / hasAll() aj Gate hook — si pamätá načítané prepojenie pre každú dvojicu connector–connectable, takže stránka, ktorá overuje prístup mnohokrát, sa databázy spýta raz:

```php
$user->hasPermissionThroughConnection($team, 'edit');               // queries once, then memoised
$user->hasPermissionThroughConnection($team, 'view');               // served from the cache
$user->hasPermissionThroughConnection($team, 'edit', force: true);  // re-query and refresh the entry

Connections::between($user, $team)->permissions()->revoke('edit');  // writes invalidate the pair
$user->hasPermissionThroughConnection($team, 'edit');               // false — no force needed
```

- Cache ukladá riadok Connection, nie výsledok, takže stav aj expirácia sa vyhodnotia v čase kontroly.
- Každý zápis cez balík — fasáda, trait, akcie, hromadné slovesá aj sync — invaliduje dotknutú dvojicu; connections:prune a Connections::prune() po odstránení riadkov vyprázdnia celú cache.
- isConnectedTo() a ostatné kontroly prepojenia sa vždy pýtajú databázy.
- Nastavením cache.enabled na false sa bude databáza dopytovať pri každej kontrole.

## Životnosť cache

Cache je scoped inštancia v kontajneri, ktorá sa zahodí na začiatku každého requestu a jobu vo fronte — vrátane Octane a queue:work — takže zapamätané oprávnenie nikdy neprežije jeden cyklus. V rámci jedného requestu či jobu však môže prehliadnuť zmeny mimo zápisovej cesty balíka, napríklad z iného procesu alebo priamou Eloquent úpravou Connection. Tam, kde záleží na čerstvosti, použite force: true, vypnite cache alebo ju vyprázdnite uprostred requestu cez fasádu:

```php
use RoundlyConsulting\Connections\Facades\Connections;

Connections::flushCache();   // forget every memoised connection
```

## 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/connections-for-laravel.md)
