Установка без ключевого префикса в symfony4 для redis

У меня проблема с правильной конфигурацией redis в Symfony 4. Я хочу, чтобы перед ключами элементов кеша не было префикса, но он постоянно отображается. Вот мой config/packages/framework.yaml (часть, связанная с кешем):

cache:
    prefix_seed: ztw/ztw
    app: cache.adapter.redis
    default_redis_provider: '%env(resolve:REDIS_URL)%'

Я попытался удалить ключ prefix_seed и установить для него значение ~. Ничего не получилось. Однако в документации указано, что его значение по умолчанию - null.

Я хочу добиться этого, потому что, когда я запускаю свой веб-сайт через веб-сайт, он устанавливает некоторый ключ и придерживается его. Но когда я запускаю свои тесты behat (намеренно - для заполнения кеша) - ключи разные, несмотря ни на что. Оба используют значение переменной окружения APP_ENV=dev (проверено дважды).

Вот что происходит на стороне Redis:

127.0.0.1:6379> keys *
 1) "xw+Y6oICD-:4dfbddf6bbb8ea2e25e843d936739dd9"
 2) "xw+Y6oICD-:4f1cbb7ece6f8db3b69ae11418bbf022"
 3) "xw+Y6oICD-:26c65dcee950a5020596989ad1a8ff66"
 4) "gUbUjDoAuQ:b712bf9832f566bd5bd30a07e7bd146b"
 5) "gUbUjDoAuQ:1d0f56bf67bd482674b62067336bd633"
 6) "xw+Y6oICD-:d948f5e23f94e681620436786f0daf98"
 7) "xw+Y6oICD-:ef88ab906981c6e04ef639cd4a8ae803"
 8) "xw+Y6oICD-:748d18ce6ba0929d2540e9b4529e56cc"
 9) "xw+Y6oICD-:ef30ff7e239b92cec1f5e58c201296f5"
10) "xw+Y6oICD-:1d0f56bf67bd482674b62067336bd633"
11) "xw+Y6oICD-:b712bf9832f566bd5bd30a07e7bd146b"
12) "xw+Y6oICD-:4da534491b5732336b3bb3e7302bc79b"

Например, 4-й и 11-й элементы имеют один и тот же ключ (и значение), но, к сожалению, разные префиксы.

Я знаю, что префикс ключа кеша считается хорошей практикой, но по какой-то причине при запуске этого ключа ключи разные.

Любая помощь приветствуется.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
10
0
1 533
1

Ответы 1

prefix_seed, упомянутый выше, является префиксом для файлов кэша Symfony (не связанный с ним redis).

Значение по умолчанию для префикса redis - PHPREDIS_SESSION:, которое объясняет ключи, которые вы упомянули выше, я не пробовал это, но я думаю, вам нужно будет добавить и установить опцию prefix на пустую строку в session.save_path.

Проверьте предварительно прочитанный мной файл: https://github.com/phpredis/phpredis

Обновлено: в соответствии с документами похоже, что дополнительные настройки можно установить только через predis.

When using the Predis library some additional Predis-specific options are available. Reference the Predis Connection Parameters documentation for more information.

Источник: https://symfony.com/doc/current/components/cache/adapters/redis_adapter.html

что, если я не использую предис?

Pawel 19.09.2018 14:25

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