Компонент Symfony Cache: определить конкретный префикс для всех моих пулов Redis?

Я только что сделал обязательный переход с Doctrine Cache на Symfony Cache Component (SF 4.4). Одна из вещей, которых мне не хватает, - это возможность определять точный префикс для пулов кешей. Причина в том, что я хочу запускать скрипт (ы) вне приложения, который может очистить полный кеш Redis любого конкретного приложения. Раньше это было намного проще, потому что я могу просто просканировать и удалить все ключи, начинающиеся с определенного префикса.

Документ на странице Cache Component действительно расплывчато об этом, я попытался выполнить поиск на странице проблем, и кажется, что вы можете сделать это, если вы определяете пулы вручную, а не используете конфигурации.

Я нашел этот вопрос: установите ключ префикса кеша Redis на Symfony, но prefix_seed, похоже, не помогает. Фактически, согласно документу, prefix_seed предназначен для использования в качестве 1 фактора только для вычисления хеша?

Я тоже пробовал что-то вроде этого:

services:    
  cache.adapter.redis_http:
    parent: 'cache.adapter.redis'
    public: true
    autowire: true
    autoconfigure: false
    tags:
      - { name: 'cache.pool', namespace: '%store_id%.http' }

Это работает, но если у меня есть 20 пулов, мне нужно будет определить 20 различных сервисов. Есть ли способ заставить его работать, чтобы ключ был myprefix_symfonyhash?

Я не мог найти никаких четких документов о том, как это сделать. Любой указатель приветствуется.

0 ответов

Другие вопросы по тегам