Метод pull
Метод pull класса Cache предназначен для получения значения из кеша по ключу с одновременным его удалением. Это удобно, когда нужно извлечь значение и сразу очистить кеш, чтобы избежать повторного использования устаревших данных. Первым параметром передаётся ключ, по которому хранится значение. Вторым необязательным параметром можно передать значение по умолчанию, которое будет возвращено, если ключ не найден в кеше.
Синтаксис
<?php
Cache::pull($key, $default);
?>
Пример
Давайте поместим значение в кеш, а затем извлечём его с помощью метода pull:
<?php
use Illuminate\Support\Facades\Cache;
Cache::put('user', 'John Doe', 60);
$res = Cache::pull('user');
echo $res;
?>
Результат выполнения кода:
"John Doe"
Пример
Давайте попробуем извлечь значение по ключу, которого нет в кеше. В этом случае метод вернёт null:
<?php
use Illuminate\Support\Facades\Cache;
$res = Cache::pull('nonexistent_key');
var_dump($res);
?>
Результат выполнения кода:
NULL
Пример
Давайте зададим значение по умолчанию, которое будет возвращено, если ключ отсутствует в кеше:
<?php
use Illuminate\Support\Facades\Cache;
$res = Cache::pull('nonexistent_key', 'Default value');
echo $res;
?>
Результат выполнения кода:
"Default value"
Пример
Давайте убедимся, что метод pull действительно удаляет значение из кеша после извлечения. Сначала поместим значение, затем извлечём его и проверим, что оно больше не существует:
<?php
use Illuminate\Support\Facades\Cache;
Cache::put('article', 'Laravel Cache', 60);
$res1 = Cache::pull('article');
$res2 = Cache::get('article');
echo "First call: " . $res1 . "\n";
var_dump($res2);
?>
Результат выполнения кода:
"First call: Laravel Cache"
NULL