Cache::forever
Метод forever класса Cache предназначен для сохранения данных в кеш без ограничения по времени. В отличие от метода put, который требует указания времени жизни, forever сохраняет значение до тех пор, пока оно не будет явно удалено. Первым параметром передаётся ключ, вторым - значение для сохранения. Метод возвращает true в случае успеха.
Синтаксис
<?php
use Illuminate\Support\Facades\Cache;
Cache::forever($key, $value);
?>
Пример
Сохраним конфигурацию сайта в кеш навсегда:
<?php
use Illuminate\Support\Facades\Cache;
$config = ['theme' => 'dark', 'language' => 'ru'];
$res = Cache::forever('site_config', $config);
var_dump($res);
?>
Результат выполнения кода:
true
Пример
Сохраним сложный объект данных пользователя:
<?php
use Illuminate\Support\Facades\Cache;
$user = [
'id' => 1,
'name' => 'John Doe',
'email' => 'john@example.com',
'roles' => ['admin', 'editor']
];
Cache::forever('user_data', $user);
$cachedUser = Cache::get('user_data');
print_r($cachedUser);
?>
Результат выполнения кода:
Array
(
[id] => 1
[name] => John Doe
[email] => john@example.com
[roles] => Array
(
[0] => admin
[1] => editor
)
)
Пример
Используем forever для кеширования результата тяжёлого вычисления:
<?php
use Illuminate\Support\Facades\Cache;
$result = 0;
for ($i = 1; $i <= 1000000; $i++) {
$result += $i;
}
Cache::forever('computed_sum', $result);
$cachedSum = Cache::get('computed_sum');
echo $cachedSum;
?>
Результат выполнения кода:
"500000500000"
Пример
Проверим наличие ключа перед сохранением:
<?php
use Illuminate\Support\Facades\Cache;
$key = 'important_data';
$value = ['status' => 'active', 'priority' => 10];
if (!Cache::has($key)) {
Cache::forever($key, $value);
echo 'Data saved successfully';
} else {
echo 'Key already exists';
}
?>
Результат выполнения кода:
"Data saved successfully"
Смотрите также
-
класс
Cache,
главный класс для работы с кешем -
метод
rememberForever,
который сохраняет данные навсегда через замыкание -
метод
forget,
который удаляет данные из кеша -
метод
has,
который проверяет существование ключа в кеше