Я очищаю кеш после развертывания в производство, но также теряю кеш приложения. Как исключить мой пул при просмотре новых symfony обновлений кода? - PullRequest
0 голосов
/ 26 февраля 2020

Чтобы развернуть, я 'git тяну', затем 'bin / console cache: clear', чтобы увидеть обновления для моего сайта.

Это работает, но я не хочу потерять данные МОЕГО пула кэша, когда это произойдет. (Я кеширую результаты в сторонние вызовы API)

Я ожидал, что команда symfony очистит только свои собственные хранилища кеша, а не отправленные мной элементы кеша, так как они все еще ценны для меня после того, как я очищу symfony кеш для развертывания нового кода.

В1. Как очистить все кэши, кроме пула кэша моего приложения «api_call_cache_pool» ниже?

Q2: есть ли другой вызов очистки кеша, который я должен использовать вместо 'bin / console cache: clear'?

Q3: api_call_cache_pool не будет очищен, если его адаптер был Redis вместо файловой системы ?

framework:
    cache:

        directory: '%kernel.cache_dir%/pools'   

        app: cache.adapter.filesystem
        system: cache.adapter.system

        pools:
            api_call_cache_pool:
                adapter: cache.adapter.filesystem
                default_lifetime: 6000
                tags: true

1 Ответ

0 голосов
/ 26 февраля 2020

Поскольку cache:clear очистит все ваши кеши, я бы порекомендовал создать скрипт, используя php bin/console cache:pool:list и исключив то, что вы хотите исключить (api_call_cache_pool в вашем примере).

I ' Я не уверен, почему здесь не может применяться политика «черного списка».

(Или, может быть, достаточно использовать cache.system_clearer и cache.app_clearer; вам следует попробовать самостоятельно)

...