Не нравятся результаты поиска? Попробуйте другой поиск!

Не кешируются запросы


     28.07.2011    Общие вопросы по PHP, MySQL    3707

вопрос
Мужики, недавно сделал сайт. На главной использую информеры custom и парочку модулей. Когда писал модули использовал внутреннее кеширование DLE. Буквально сегодня решил посмотреть количество запросов на главной, оказывается их аж 40 штук. Смотрю запросы, ну там системные типа запроса на получения данных об авторизации. А самую массу составляют как раз блоки кастом. Но ведь что самое интересное, в параметрах тега явно указано кеширование и файлы кешей создаются. Но вот почему движок всёравно выполняет запросы а не читает кеши?

Ответил: ПафНутиЙ


rashpil
Оказалось всё несколько интересней :) По какой-то причине каждый раз при перезагрузке странички выполнялся заветный engine/modules/cron.php в котором запускается функция clear_cache(); И выходит что модули и кеши то работали исправно, просто это чудо при каждом обновлении странички исполнялось и получало необходимые ему данные. Попробовал переименовать файл, чтобы узнать где он подключается. В итоге, все неприятности пропали и сайт вновь стал исполнять свои 2 постоянных запроса :)

Комментарии пользователей (6)

REZER
1

2 | 3

REZER - 28 июля 2011 23:59 - Юзер

Х.М. А ты точно уверен, что кэш не используется? Попробуй очистить кэш и 2 раза обновить страницу, посмотри сколько запросов создастся.

Ах, да. И ещё проверь в настройках, включено ли кэширование!

rashpil
33

232 | 182

rashpil - 29 июля 2011 00:04 - Эксперт

Уверен. Файлы кеша созданы, но при просмотре исполненых запросов видно запросы именно на получение новостей для кастомов. В настройках кеширование включено. Да и для кастома это не важно, в функции custom_print(); написано условие:
    if( $custom_cache == "yes" ) $config['allow_cache'] = "yes";
    else $config['allow_cache'] = false;

ПафНутиЙ
1063

3393 | 2433

ПафНутиЙ - 29 июля 2011 00:08 - Админ

Может оно перезаписывается другим модулем?

Каков вопрос - таков и ответ. Просто помните об этом.

rashpil
33

232 | 182

rashpil - 29 июля 2011 00:18 - Эксперт

Да нет. Функции очистки кеша запрашиваются только при редактировании и добавлении новостей.

Кстати только что заметил, что кеши обновляются почему-то при перезагрузке страниц.

ПафНутиЙ
1063

3393 | 2433

ПафНутиЙ - 29 июля 2011 00:20 - Админ

Значит по какойто причине двиг не видит кеш, и при вызове (обновлении) страницы он его создаёт.
Может просто в скрипте где то прописан не правильный путь к папке с кешем?
попробуйте заменить show.custom.php стандартным файлом. посмотрите .htaccess - может там что не так.

Каков вопрос - таков и ответ. Просто помните об этом.

rashpil
33

232 | 182

rashpil - 29 июля 2011 00:27 - Эксперт

Оказалось всё несколько интересней :) По какой-то причине каждый раз при перезагрузке странички выполнялся заветный engine/modules/cron.php в котором запускается функция clear_cache(); И выходит что модули и кеши то работали исправно, просто это чудо при каждом обновлении странички исполнялось и получало необходимые ему данные. Попробовал переименовать файл, чтобы узнать где он подключается. В итоге, все неприятности пропали и сайт вновь стал исполнять свои 2 постоянных запроса :)

Спасибо всем. Но теперь другой вопрос. Где в движке настраивается внутренний Cron?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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