Класс Cache
Класс Cache предоставляет статический метод getItem для получения
объекта CacheItem. Через этот объект можно сохранять и читать данные
из кеша. Первым параметром передаётся имя кеш-пула, вторым - ключ элемента.
Синтаксис
Cache::getItem(string $pool, string $key): CacheItem
Пример
Давайте сохраним строку в кеш и прочитаем её:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
use Symfony\Contracts\Cache\ItemInterface;
class CacheController extends AbstractController
{
#[Route('/cache', name: 'cache_index')]
public function index(): Response
{
$item = Cache::getItem('my_pool', 'my_key');
$item->set('hello');
$item->expiresAfter(3600);
Cache::save($item);
$res = Cache::getItem('my_pool', 'my_key')->get();
return new Response($res);
}
}
?>
Результат выполнения кода:
hello
Пример
Давайте удалим элемент из кеша по ключу:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
class CacheController extends AbstractController
{
#[Route('/cache-delete', name: 'cache_delete')]
public function delete(): Response
{
Cache::deleteItem('my_pool', 'my_key');
$res = Cache::getItem('my_pool', 'my_key')->isHit();
return new Response($res ? 'found' : 'not found');
}
}
?>
Результат выполнения кода:
"not found"
Смотрите также
-
метод
getItem,
который возвращает элемент кеша по ключу -
метод
save,
который сохраняет элемент в кеш -
метод
deleteItem,
который удаляет элемент из кеша -
класс
CacheItem,
который представляет один элемент кеша