@HellWalk

Как понять, что кэш сохранился в Redis?

Подключил 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?
  • Вопрос задан
  • 168 просмотров
Решения вопроса 1
@HellWalk Автор вопроса
Все, разобрался. Ожидаемо Symfony добавляет свой хеш к ключам.

Посмотреть с каким ключом сохранилось значение можно через вывод всех ключей:

127.0.0.1:6379> keys *
1) "gTPBdlcdoq:270378f0-b29c-4bf6-b7d1-7a64d6e212ff"
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы