Задать вопрос
@xbox

Почему Symfony 1.2 продолжает хранить часть кэша на диске, даже, если в конфиге указано хранить кэш в памяти (XCache)?

Добрый день.

Проект на Symfony 1.2.

В настройках factories.yml на уровне проекта меняю место хранения кэша Symfony с sfFileCache на sfXCacheCache. В результате я хочу, чтобы кэш Symfony хранился не на диске, а в памяти Xcache.
После моих настроек часть кэша Symfony действительно начинает храниться в памяти, но часть каша продолжает использовать диск.

PROJECT_ROOT_DIR/Config/factories.yml:
view_cache:
    class: sfXCacheCache
    param:
      automaticCleaningFactor: 0
      storeCacheInfo:          true	
  i18n:
    class: sfI18N
    param:
      cache:
        class: sfXCacheCache
        param:          
          lifetime:                  31556926
          automaticCleaningFactor: 0
          storeCacheInfo:          true	
  routing:
    class: sfPatternRouting
    param:      
      cache:
        class: sfXCacheCache
        param:
          automatic_cleaning_factor: 0          
          lifetime:                  31556926
          storeCacheInfo:          true

В память Xcache попадает кэш темплейтов модулей, кэш i18n, кэш роутинга.

А на диске формируются такие файлы:
(ниже в названии пути: index - название приложения, prod - название окружения)

PROJECT_ROOT_DIR/cache/index/prod/config:
config_app.yml.php
config_autoload.yml.php
config_config_handlers.yml.php
config_core_compile.yml.php
config_databases.yml.php
config_factories.yml.php
config_phpexcel.yml.php
config_routing.yml.php
config_settings.yml.php

modules_catalog_brand_config_cache.yml.php
modules_catalog_brand_config_filters.yml.php
modules_catalog_brand_config_module.yml.php
modules_catalog_brand_config_security.yml.php
modules_catalog_brand_config_view.yml.php

modules_catalog_config_cache.yml.php
modules_catalog_config_filters.yml.php
modules_catalog_config_module.yml.php
modules_catalog_config_security.yml.php
modules_catalog_config_view.yml.php
modules_compare_config_module.yml.php

modules_faq_config_cache.yml.php
modules_faq_config_filters.yml.php
modules_faq_config_module.yml.php
modules_faq_config_security.yml.php

modules_homepage_config_cache.yml.php
modules_homepage_config_filters.yml.php
modules_homepage_config_module.yml.php
modules_homepage_config_security.yml.php
modules_homepage_config_view.yml.php
и т.п.

VERSION

При этом если просмотреть файлы, которые лежат в папке кэша, то начинаются они так:
Для модулей:
// auto-generated by sfCacheConfigHandler
...
// auto-generated by sfFilterConfigHandler
// auto-generated by sfDefineEnvironmentConfigHandler
// auto-generated by sfSecurityConfigHandler
// auto-generated by sfViewConfigHandler

Для конфига:
// auto-generated by sfRootConfigHandler
...

В referense описании Symfony есть только упонимнание настройки кэша для view_cache, i18n и routing. Больше настройки кэша ни для чего не задаются.

Файл factories.yml правлю на уровне проекта. На уровне приложения factories.yml настройки не перекрываются. Пробовал даже на уровне Symfony менять factories.yml (SymfonyDir/lib/config/config/factories.yml. Ничего не помогает

Для чистоты эксперемента при тестировании после изменения настроек всегда полностью очищаю папку кэша на диске и полностью память в Xcache.

Подскажите, почему Symfony продолжает сохранять часть файлов кэша на диск и можно ли это как-то исправить?
  • Вопрос задан
  • 160 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы