сохранить документ в кеш memcache
Суть идеи такова: сохранить ресурс в виде html странички в кеш memcache средставами MODX (плагином), посредством nginx прочитать ресурс из кеша, так сказать минуя MODX… Плюсы — nginx отдает страничку практически мгновенно, сервер не тратит ресурсы… нам нужно два события — OnSiteRefresh и OnBeforeSaveWebPageCache. По первому событию чистить кеш, по второму сохранить ресурс в кеш. скелет плагина: switch ($modx->event->name) { case 'OnSiteRefresh': //чистим кеш break; case 'OnBeforeSaveWebPageCache': if ($modx->resource->get('cacheable') && $modx->resource->get('published') && $modx->resource->_output != '') {
$memcache = new Memcache;
$memcache->connect('localhost', 11211);
$expire = 50;//время хранения 50с
$uri = $modx->resource->get('uri');
$context = $modx->context->get('key');
$key = "$context/$uri";
$output = &$modx->resource->_output;
$time = time();
$cacheArray = array('output'=>$output, 'time'=>$time);
$tmp_object = $output;
$memcache->set($key, $tmp_object, false, $expire);
$memcache->close();
break;
}
} запись в кеш $memcache = new Memcache; $memcache->connect('localhost', 11211);//подключаемся к memcache $expire = 50;//время хранения 5с кеша $tmp = "