Add caching to ModuleModel::getModuleInfoByDocumentSrl()

This commit is contained in:
Kijin Sung 2020-10-02 01:52:31 +09:00
parent 397c9ef788
commit a25497c567
4 changed files with 23 additions and 5 deletions

View file

@ -489,6 +489,7 @@ class documentAdminController extends document
foreach($obj->document_list as $document)
{
Rhymix\Framework\Cache::delete('document_item:'. getNumberingPath($document->document_srl) . $document->document_srl);
Rhymix\Framework\Cache::delete('site_and_module:document_srl:' . $document->document_srl);
}
return new BaseObject();
@ -617,6 +618,7 @@ class documentAdminController extends document
foreach ($document_list as $document)
{
Rhymix\Framework\Cache::delete('document_item:'. getNumberingPath($document->document_srl) . $document->document_srl);
Rhymix\Framework\Cache::delete('site_and_module:document_srl:' . $document->document_srl);
}
return new BaseObject();

View file

@ -960,6 +960,7 @@ class documentController extends document
//remove from cache
Rhymix\Framework\Cache::delete('document_item:' . getNumberingPath($obj->document_srl) . $obj->document_srl);
Rhymix\Framework\Cache::delete('seo:document_images:' . $obj->document_srl);
Rhymix\Framework\Cache::delete('site_and_module:document_srl:' . $obj->document_srl);
return $output;
}
@ -1093,6 +1094,7 @@ class documentController extends document
//remove from cache
Rhymix\Framework\Cache::delete('document_item:' . getNumberingPath($document_srl) . $document_srl);
Rhymix\Framework\Cache::delete('seo:document_images:' . $document_srl);
Rhymix\Framework\Cache::delete('site_and_module:document_srl:' . $document_srl);
unset($GLOBALS['XE_DOCUMENT_LIST'][$document_srl]);
unset($GLOBALS['XE_EXTRA_VARS'][$document_srl]);
return $output;
@ -1254,6 +1256,7 @@ class documentController extends document
// Clear cache
Rhymix\Framework\Cache::delete('document_item:' . getNumberingPath($oDocument->document_srl) . $oDocument->document_srl);
Rhymix\Framework\Cache::delete('seo:document_images:' . $oDocument->document_srl);
Rhymix\Framework\Cache::delete('site_and_module:document_srl:' . $oDocument->document_srl);
return $output;
}

View file

@ -173,11 +173,22 @@ class moduleModel extends module
*/
public static function getModuleInfoByDocumentSrl($document_srl)
{
$args = new stdClass();
$args->document_srl = $document_srl;
$output = executeQuery('module.getModuleInfoByDocument', $args);
self::_applyDefaultSkin($output->data);
return self::addModuleExtraVars($output->data);
$document_srl = intval($document_srl);
$module_info = Rhymix\Framework\Cache::get('site_and_module:document_srl:' . $document_srl);
if (!$module_info)
{
$args = new stdClass();
$args->document_srl = $document_srl;
$output = executeQuery('module.getModuleInfoByDocument', $args);
$module_info = $output->data;
if ($module_info)
{
Rhymix\Framework\Cache::set('site_and_module:document_srl:' . $document_srl, $module_info, 0, true);
}
}
self::_applyDefaultSkin($module_info);
return self::addModuleExtraVars($module_info);
}
/**

View file

@ -5,6 +5,8 @@
</tables>
<columns>
<column name="modules.*" />
<column name="documents.is_notice" />
<column name="documents.status" />
</columns>
<conditions>
<condition operation="equal" column="documents.document_srl" var="document_srl" notnull="notnull" />