Valentin Kuzmenko 17 октября 2014 0 13
Подскажи пожалуйста, как запретить чистить весь кэш при удалении и восстановлении нового документа в админке modx revo 2.14, заранее спасибо
13 комментариев
Fi1osof1
Fi1osof 17 октября 2014г в 13:08 #
Вопрос: а зачем запрещать?
V
Valentin Kuzmenko 17 октября 2014г в 14:34 #
дело в том что, при удалении страницы чистится весь кэш, что не очень хорошо, так как я в console создаю кэш всего сайта, и очень не удобно что при каждом удалении странички чистится кэш
Fi1osof1
Fi1osof 17 октября 2014г в 14:41 #
А зачем в консоли создавать кеш? Что не так с базовым функционалом? У вас что, несколько сотен тысяч документов?
V
Valentin Kuzmenko 17 октября 2014г в 14:50 #
Нет у меня 750 страниц, так как каждая страница имеет до 1 секунды загрузки то после кеширования 0.250-0.500 ms
Что не так с базовым функционалом?
Если возможно, поясните что вы имели ввиду, может я что то не знаю.
А про то что я в консоли создаю, я тестирую работу сайта и так как, код для создания кэша срабатывает в плагине, и я решил запускать его в вашем приложении Console что бы быстренько протестить вот сам код
<php
//$res=1;
//file_get_contents($this->modx->makeUrl($res, '', '', 'full'));
$start_id = 0;//$modx->getOption('start_id',$scriptProperties,2);
$depth = 5;//$modx->getOption('depth',$scriptProperties,1);

$start_resource = $modx->getObject('modResource',$start_id);
//if(!$start_resource) return '';

//$context = $start_resource->get('context_key');
$child_ids = $modx->getChildIds($start_id,$depth,array('context'=>"web"));
array_push($child_ids,$start_id);

foreach($child_ids as $id){

$url = $modx->makeUrl($id,'','','full');
$content = file_get_contents($url);
echo $id."=".$url."\n";

}
unset($content);
Fi1osof1
Fi1osof 17 октября 2014г в 14:53 #
С вашим скриптом все ОК. Во всяком случае он выполняет то, что вы хотели. Но опять вопрос: а зачем? Ну грузится на холодную 1 секунду, ну и что? 1 секунда - не порог для потери пользователя. А оверклокингом заниматься - нафига?
Я бы вам половетовал лучше просто заняться оптимизацией самого сайта. Если нормально все сделать, то он и на холодную будет загружаться не более 0,5 - 0,6 секунд. У вас Smarty?
proxyfabio1
proxyfabio 17 октября 2014г в 14:49 #
А зачем вы кеш принудительно создаете? Это скорее всего вызывает больше проблем, чем дает бонусов или у вас хайлоад, что все в кеше приходится держать?
V
Valentin Kuzmenko 17 октября 2014г в 14:36 #
Лучше было бы просто удалять кэш удаляемого ресурса но не трогать при этом кэш всего сайта
Fi1osof1
Fi1osof 17 октября 2014г в 14:49 #
Эта тема много раз обсуждалась. Невозможно проследить все зависимости кеша. Это и карта алиасов, и кеши элементов и т.п. Поэтому если что-то серьезное (типа изменения документов и т.п.), то кеш правильно скидывать весь.
Если у вас после сброса кеша все очень тормозит, значит работайте над оптимизацией сайта, а не над тем, как кеш не очищать.
Fi1osof1
Fi1osof 17 октября 2014г в 14:47 #
Отвечая на ваш вопрос, скужу, что скорее всего никак. Вот метод cleanup() в процессоре обновления ресурса. Вклиниться туда, передав нужный параметр - кажется задача маловероятная.
V
Valentin Kuzmenko 17 октября 2014г в 15:25 #
ну или в крайнем случаи закомментировать
в undelete.class.php
delete.class.php
undelete.class.php

/* empty cache */
$this->clearCache();
Fi1osof1
Fi1osof 17 октября 2014г в 17:16 #
Хардкодить в ядро не круто. Слетит при апдейте системы.
V
Valentin Kuzmenko 17 октября 2014г в 15:15 #
спасибо за ответ
Fi1osof1
Fi1osof 17 октября 2014г в 15:21 #
Не за что
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.