Подключил redis для хранения кэша (cache.yaml):
framework:
cache:
app: cache.adapter.redis
default_redis_provider: redis://localhost
prefix_seed: oos/api-notifier
Тестовый контроллер:
/**
* @Route("/test/{id}", name="test")
* @param string $id
* @param EntityManagerInterface $entityManager
* @param CacheInterface $cache
* @return Response
* @throws InvalidArgumentException
*/
public function test(string $id, EntityManagerInterface $entityManager, CacheInterface $cache): Response
{
/** @var User $stock */
$stock = $cache->get($id, function (ItemInterface $item) use ($id, $entityManager) {
echo 'No Cache<br />';
echo 'Create key: ' . $item->getKey() . '<br />';
return $entityManager->getRepository(User::class)->findOneBy([
'id' => $id,
]);
});
return new Response("{$stock->getId()}, {$stock->getEmail()}");
}
В браузере визуально все работает, при первом запуске:
No Cache
Create key: 270378f0-b29c-4bf6-b7d1-7a64d6e212ff
270378f0-b29c-4bf6-b7d1-7a64d6e212ff, admin@mail.com
При повторном:
270378f0-b29c-4bf6-b7d1-7a64d6e212ff, admin@mail.com
Но проверяю в самом redis - ничего нет:
127.0.0.1:6379> get 270378f0-b29c-4bf6-b7d1-7a64d6e212ff
(nil)
Как понять, что кэш сохранился именно в Redis?