Есть сайт на drupal 5.6, использующий memcache 5.x.-1.10 (memcache.inc). Время от времени при генерации страницы возникает много SQL-запросов про locale, что замедляет работу сайта. Насколько я понимаю, это связано с перестраиванием соответствующего кеша memcache. Это кажется излишним, потому что переводы-то не обновляются так часто.
Сталкивались ли вы с похожими проблемами? Может быть знаете способ, как надолго кешировать locale в memcache?
Комментарии
стоп. а locale в "таблице" cache лежит?
да, таки там. это... раз такая пьянка то это плохо. там и переменные лежат и много че еще лежит
"драйвер" кеширования так работает?
Спасибо, как раз в этом может быть дело.
Насколько я понимаю, каждой таблице cache_* соответствует отдельная "группа кеша" (bin). И видимо есть случаи, когда группа cache инвалидируется целиком из-за какого-то значения. Как раз кеш variables попадает под подозрение.
Посмотрю, насколько сложно locale вынести в отдельный bin.
да. тут вам не БД. по маске не дропнешь.
да и кстати может как раз засчет другого кеша такое происходит.
это
берите cache_router и таблицы cache cache_menu держите в базе как обычно
имхо это более верно
посмотрите как чистка кеша там идет. сдается мне оно там все кеши разом дропает
Нет, всё точно не дропает. Если смотреть вывод SQL-запросов через devel, то там cache_get и cache_set запросов никогда не бывает. Да и memcache stats всегда показывает мегабайты кеша.
Про cache_router хороший совет, попробую.