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

View file

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

View file

@ -173,11 +173,22 @@ class moduleModel extends module
*/ */
public static function getModuleInfoByDocumentSrl($document_srl) public static function getModuleInfoByDocumentSrl($document_srl)
{ {
$args = new stdClass(); $document_srl = intval($document_srl);
$args->document_srl = $document_srl; $module_info = Rhymix\Framework\Cache::get('site_and_module:document_srl:' . $document_srl);
$output = executeQuery('module.getModuleInfoByDocument', $args); if (!$module_info)
self::_applyDefaultSkin($output->data); {
return self::addModuleExtraVars($output->data); $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> </tables>
<columns> <columns>
<column name="modules.*" /> <column name="modules.*" />
<column name="documents.is_notice" />
<column name="documents.status" />
</columns> </columns>
<conditions> <conditions>
<condition operation="equal" column="documents.document_srl" var="document_srl" notnull="notnull" /> <condition operation="equal" column="documents.document_srl" var="document_srl" notnull="notnull" />