Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Не кешируются запросы

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


     28.07.2011    DLE, custom, MySQL    Общие вопросы по PHP, MySQL    5375

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

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


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

6 комментариев

REZER
Юзер

REZER - 28 июля 2011 23:59 -

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

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

rashpil
Эксперт

rashpil - 29 июля 2011 00:04 -

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

ПафНутиЙ
Админ

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

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

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

rashpil
Эксперт

rashpil - 29 июля 2011 00:18 -

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

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

ПафНутиЙ
Админ

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

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

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

rashpil
Эксперт

rashpil - 29 июля 2011 00:27 -

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

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

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

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

наверх