Таблица cache_menu растет

Главные вкладки

Аватар пользователя yuriisv yuriisv 12 августа 2009 в 7:16

Таблица cache_menu растет невероятными темпами. Способы очистки, приведенные на сайте - ручные. Как сделать этот процес (очистка кеша) автоматическим - при запуске cron.
Прошу поделиться опытом.
Хочу отметить, что два года стоял сайт на версии 5. и проблемы вообще не было. Нет проблемы и при конвертации сайта с 5. до 6.13. Но сайт созданный изначально в 6. cache_menu зашкаливает.

Комментарии

Аватар пользователя andriy.olischuk andriy.olischuk 12 августа 2009 в 11:46

Например написать модуль с одной единственной функцией mymodule_cron(). В которой удалять все устаревшие записи из таблицы. Устаревший, это если таймстамп в поле expire меньше чем выдаёт time().

Аватар пользователя gn@drupal.org gn@drupal.org 12 августа 2009 в 12:31

На Друпал.орге об этой проблеме говорили применительно и к Д5, и к Д6, и к Д7. Нет времени сейчас рыться во всех этих дискуссиях, но навскидку похоже, что для начала, если сайт не под слишком страшной толпой посетителей, можно попробовать отключить minimum cache lifetime.
http://drupal.org/node/231587
http://drupal.org/node/227228
http://drupal.org/node/226728

Аватар пользователя andriy.olischuk andriy.olischuk 10 ноября 2015 в 11:46

UPD: Я совсем невнимательный, только сейчас обратил внимание что проблема с cache_menu, а не cache_form.
но можно прилагаемое решение модифицировать.
По крону чистит cache_form, удаляя все expired, но оставляя актуальные.
Это модуль. Нужно его установить и убедиться что у вас периодически запускается крон. С каждым запуском крона модуль будет делать своё дело.

Аватар пользователя yuriisv yuriisv 14 августа 2009 в 13:43

Спасибо andriy.olischuk
Ваше решение радикальное и очень помогло.
Еще бы была возможность объединить решение по всем таблицам кеша.

Аватар пользователя yuriisv yuriisv 17 апреля 2010 в 10:44

После обновления до 6.16 рост таблиц cache и особенно cache_menu возобновился. Нужно радикальное средство
модуль с этой страницы перестал действовать