Memcache, слишком часто перестраивается кеш locale

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

Аватар пользователя ankheg ankheg 16 марта 2011 в 15:41

Есть сайт на drupal 5.6, использующий memcache 5.x.-1.10 (memcache.inc). Время от времени при генерации страницы возникает много SQL-запросов про locale, что замедляет работу сайта. Насколько я понимаю, это связано с перестраиванием соответствующего кеша memcache. Это кажется излишним, потому что переводы-то не обновляются так часто.

Сталкивались ли вы с похожими проблемами? Может быть знаете способ, как надолго кешировать locale в memcache?

Комментарии

Аватар пользователя ankheg ankheg 16 марта 2011 в 17:24

Спасибо, как раз в этом может быть дело.

Насколько я понимаю, каждой таблице cache_* соответствует отдельная "группа кеша" (bin). И видимо есть случаи, когда группа cache инвалидируется целиком из-за какого-то значения. Как раз кеш variables попадает под подозрение.

Посмотрю, насколько сложно locale вынести в отдельный bin.

Аватар пользователя Ильич Рамирес Санчес Ильич Рамирес Санчес 16 марта 2011 в 18:19

"ankheg" wrote:
Как раз кеш variables попадает под подозрение.

да. тут вам не БД. по маске не дропнешь.
да и кстати может как раз засчет другого кеша такое происходит.
это
берите cache_router и таблицы cache cache_menu держите в базе как обычно Smile
имхо это более верно Smile

"ankheg" wrote:
Посмотрю, насколько сложно locale вынести в отдельный bin.

посмотрите как чистка кеша там идет. сдается мне оно там все кеши разом дропает Smile

Аватар пользователя ankheg ankheg 16 марта 2011 в 18:51

Нет, всё точно не дропает. Если смотреть вывод SQL-запросов через devel, то там cache_get и cache_set запросов никогда не бывает. Да и memcache stats всегда показывает мегабайты кеша.

Про cache_router хороший совет, попробую.