Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Почему кеш не создается для новостей старше одного месяца?

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


     31.10.2014    Общие вопросы    1086

вопрос
Здравствуйте.
Заметил что для старых новостей не создается кеш, Открыл 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
12

97 | 32

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

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

ПафНутиЙ
1065

3396 | 2434

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

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

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

unik
4

82 | 15

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

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

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

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