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

Почему кеш не создается для новостей старше одного месяца?


     31.10.2014    Все вопросы » Общие вопросы    1335

вопрос
Здравствуйте.
Заметил что для старых новостей не создается кеш, Открыл show.full.php и нашел там следующий код.

if( strtotime($row['date']) >= ($_TIME - 2592000) ) {
                
    $allow_full_cache = true;
            
}
if ($allow_full_cache AND !$full_cache) create_cache ( $cprefix, serialize($row), $sql_news );

То есть если с момента даты публикации новости прошло больше 30ти дней, то кеш не создастся.
Для чего это сделано? К примеру у меня на сайте есть много популярных новостей опубликованных больше полугода назад, которые посещает большое количество человек, без кеша каждая загрузка такой новости дает 3 лишних sql запроса, к чему такое расточительство ресурсов сервера?

Ответил: Sander


Почему не создается - потому что Celsoft так сделал.
Чтобы кеш использовался пол года, заменить 2592000 на 2592000*6 где 6 - количество месяцев.

3 комментария

Kane
Юзер

Kane - 1 ноября 2014 20:07 -

Да, маленько не правильно построил вопрос, понял это уже после того как опубликовал. Меня интересовало по какой причине Celsoft это сделал.
Лично я вообще закомментировал эту проверку
//if( strtotime($row['date']) >= ($_TIME - 2592000) ) {
                
    $allow_full_cache = true;
            
//}

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

ПафНутиЙ - 1 ноября 2014 22:53 -

Скорее всего это костыль (очередной), для решения проблемы большого кол-ва файлов в папке.
Если файлов больше (по разным данным разное число) 60 000 unix начинает жутко тормозить. ну и ftp не откроет такую папку.

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

unik
Юзер

unik - 1 ноября 2014 20:40 -

Я даже не знал про это, огромное спасибо за тему!

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

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

наверх