cache:
app: cache.adapter.redis
default_redis_provider: '%env(resolve:REDIS_URL)%'
pools:
app.cache.widget:
public: true
adapter: cache.adapter.redis
default_lifetime: 1800 # seconds
app.cache.test:
public: true
adapter: cache.adapter.redis
В services.yaml тэгаю:
App\SomeService:
autowire: true
tags:
- { name: 'cache.pool', namespace: 'app.cache.test' }
Запускаю этот SomeService, пишу что-то в кэш, меняю в services в тэге namespace на другой pool, вызываю опять сервис и получаю записанный при прошлом вызове команды результат. Хотя, по идее, не должен получать его, так как он в другом пуле. Кэш внедряю через CacheInterface $cache. Пробовал через имя аргумента пул указывать (CacheInterface $appCacheTest) как в доке, но результат тот же - пишу в один пул, а вижу в обоих.
Попробуйте убрать tags: - { name: 'cache.pool', namespace: 'app.cache.test' } И инжектить так CachePoolInterface $appCacheTest CachePoolInterface $appCacheWidget
Обсуждают сегодня