Метод delete класса Cache
Метод delete класса Cache удаляет значение из кеша по ключу.
Первым параметром передаётся ключ в виде строки. Метод возвращает
true, если значение было найдено и успешно удалено, и
false, если значение по указанному ключу отсутствовало.
Синтаксис
$cache->delete(string $key): bool
Пример
Давайте сохраним значение в кеш, а затем удалим его по ключу 'user':
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyContractsCacheCacheInterface;
use SymfonyComponentRoutingAttributeRoute;
class CacheController extends AbstractController
{
#[Route('/cache/delete', name: 'cache_delete')]
public function delete(CacheInterface $cache): Response
{
$cache->get('user', function () {
return 'abcde';
});
$res = $cache->delete('user');
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода:
true
Пример
Давайте попробуем удалить значение, которого нет в кеше:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyContractsCacheCacheInterface;
use SymfonyComponentRoutingAttributeRoute;
class CacheController extends AbstractController
{
#[Route('/cache/delete-missing', name: 'cache_delete_missing')]
public function deleteMissing(CacheInterface $cache): Response
{
$res = $cache->delete('missing');
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода:
false
Пример
Давайте проверим, что после удаления значение действительно отсутствует в кеше:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyContractsCacheCacheInterface;
use SymfonyComponentRoutingAttributeRoute;
class CacheController extends AbstractController
{
#[Route('/cache/delete-check', name: 'cache_delete_check')]
public function deleteCheck(CacheInterface $cache): Response
{
$cache->get('user', function () {
return 'abcde';
});
$cache->delete('user');
$res = $cache->get('user', function () {
return 'not found';
});
return new Response($res);
}
}
?>
Результат выполнения кода:
"not found"
Смотрите также
-
класс
Cache,
который предоставляет методы для работы с кешем -
метод
get,
который получает значение из кеша по ключу -
метод
deleteItem,
который удаляет элемент кеша через объект CacheItem -
метод
clear,
который полностью очищает весь кеш