Перейти к публикации

Отключить автоматическую очистку кэша при добавлении новостей


Рекомендованные сообщения

В ДЛЕ есть функция, очищающая кэш при  добавлении новых новостей и еще при совершении каких-то определенных действий. У меня на сайте  (v.10.1) добавляется огромное количество новостей и кэш по сути просто не успевает формироваться, точнее, он стирается быстрее, чем формируется :), что, разумеется, нехило  повышает нагрузку на сервер. Функция очистки кэша по расписанию, раз в час например, меня вполне устраивает.  Какие файлики надо ковырнуть, что бы отключить автоматическую очистку кэша при добавлении новых новостей? а то караул, сайт порой вешается. И второй  вопрос, при такой ситуации (одновременное добавление большого кол-ва записей в БД и при этом  одновременно много запросов  к БД для вывода на сайте новостей) имеет ли смысл изменить тип myisam на innodb? Работать то вообще будет? и есть ли смысл? Вчера курил интернет, вроде как говорят, что  innodb  лучше себя ведет при большом кол-ве  одновременных select и insert

Ссылка на сообщение
Поделиться на других сайтах

В ДЛЕ есть функция, очищающая кэш при  добавлении новых новостей и еще при совершении каких-то определенных действий.

​О, я думал там только по настройкам времени осуществляется очистка.

Ссылка на сообщение
Поделиться на других сайтах

В ДЛЕ есть функция, очищающая кэш при  добавлении новых новостей и еще при совершении каких-то определенных действий.

​О, я думал там только по настройкам времени осуществляется очистка.

DeeMon   вот, у пафнутия нашел описание таких действий и какой кеш чистится:

 

 

Префиксы которые автоматически чистятся при определённых условиях:
news, rss, comm - при добавлении новости или комментария.
news, related, tagscloud, archives, calendar, topnews, rss - при добавлении новости.
comm - при редактировании комментария.
news, rss - при редактировании новости, при выcтавлении рейтинга
news, full, comm, rss - при массовом удалении комментариев
news, full, comm, tagscloud, archives, calendar, rss - при удалении новости

Ссылка на сообщение
Поделиться на других сайтах

Ну для новостей это как вариант файл engine/inc/addnews.php

Там вроде строка №441:

clear_cache( array('news_', 'related_', 'tagscloud_', 'archives_', 'calendar_', 'topnews_', 'rss') );

Ну видимо удалить не нужное...

Ссылка на сообщение
Поделиться на других сайтах

Ну для новостей это как вариант файл engine/inc/addnews.php

Там вроде строка №441:

clear_cache( array('news_', 'related_', 'tagscloud_', 'archives_', 'calendar_', 'topnews_', 'rss') );

Ну видимо удалить не нужное...

​ДА, уже тоже туда полез ) ))  а так же по видимому rss.php, tagscloud.php и все остальные файлы из списка...

Ссылка на сообщение
Поделиться на других сайтах

Какие файлики надо ковырнуть, что бы отключить автоматическую очистку кэша при добавлении новых новостей? а то караул, сайт порой вешается.

engine/inc/addnews.php
engine/modules/addnews.php

Изменено пользователем celsoft
Ссылка на сообщение
Поделиться на других сайтах

Владимир, спасибо за ответ насчет кэша, а не выскажете свое мнение насчет смены БД  типа myisam на innodb? есть смысл при большом кол-ве одновременных  селектов и инсертов менять? И самое главное, будет ли ДЛЕ корректно работать? дальше уже буду сам экспериментировать и сравнивать. Что думаете, хочется услышать мнение разработчика.

Ссылка на сообщение
Поделиться на других сайтах

Владимир, спасибо за ответ насчет кэша, а не выскажете свое мнение насчет смены БД  типа myisam на innodb? есть смысл при большом кол-ве одновременных  селектов и инсертов менять?

 Если у вас количество операций записи превышает количество операций чтения, или крайне высоко, то имеет смысл. Разница между типами следующая: при myisam выборка осуществляется быстрее чем при innodb, а вот запись в таблицу при innodb происходит быстрее чем при myisam, потому как в innodb блокировка происходит на уровне строк, а при myisam на уровне таблицы.

И самое главное, будет ли ДЛЕ корректно работать?

Будет. Но нужно не забыть отключить полнотекстовый поиск и убрать полнотекстовые ключи из бд, т.к. они не поддерживаются в innodb. В стандартном DLE тип myisam потому что мы исходим из того что сайт намного больше и чаше читают, чем добавляют новости на него.

Изменено пользователем celsoft
Ссылка на сообщение
Поделиться на других сайтах

Спасибо за ответ. Полнотекстовой поиск на сайте не используется. НУ что ж, будем пробовать ))

Ссылка на сообщение
Поделиться на других сайтах

что то я втупил. Достаточно будет поменять тип только у одного поля _post (на нем вся нагрузка) или всю базу надо конвертить?

Ссылка на сообщение
Поделиться на других сайтах

что то я втупил. Достаточно будет поменять тип только у одного поля _post (на нем вся нагрузка) или всю базу надо конвертить?

​Не у поля, а у таблицы. Конвертировать ее не нужно, нужно просто тип БД, через phpMyAdmin. Да если менять, то желательно проделать это для всех полей.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...