Я использую кэш redis в моем приложении Symfony.
При проверке внутренних ключей в redis-cli
я обнаружил, что все записи имеют общий префикс (например, AWVAugkC6-:
или gBphwvED1G:
). Префикс меняется, если я переключаю APP_ENV
между dev
и prod
.
Можно ли отключить это поведение?
В настоящее время я не могу использовать записи prod в режиме разработки и наоборот.
Звонок на
$this->cache->getItem('2f560421-1b6d-4251-8392-e9c0f5e824a7-1514764800-1546300799-noref-nostr');
переводит в devmode на ключ redis
gBphwvED1G:2f560421-1b6d-4251-8392-e9c0f5e824a7-1514764800-1546300799-noref-nostr
однако в продукт, это
AWVAugkC6-:2f560421-1b6d-4251-8392-e9c0f5e824a7-1514764800-1546300799-noref-nostr
Итак, префикс заменен!
Я проследил это до AbstractTrait::getId($key)
https://github.com/symfony/cache/blob/e5e9a6d35558b43cca49cde9f3a7ad22980812cb/Traits/AbstractTrait.php#L269,, но я думаю, что эта строка должна просто хешировать ключ давать, а не среду ...?
framework:
cache:
default_redis_provider: 'redis://%env(REDIS_HOST)%'
pools:
data_evaluator_cache_items_cache:
adapter: cache.adapter.redis
default_lifetime: 0
public: true
data_evaluator_cache_tags_cache:
adapter: cache.adapter.redis
default_lifetime: 0
public: true
services:
tagged_data_cache:
class: Symfony\Component\Cache\Adapter\TagAwareAdapter
arguments:
$itemsPool: "@data_evaluator_cache_items_cache"
$tagsPool: "@data_evaluator_cache_tags_cache"
public: true
Я не уверен, относится ли это к TagAwareAdapter. В действительности сохраняется дополнительная запись тега, которая