mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-26 14:49:56 +09:00
#242 document item의 object cache 정리.
- 일부 기록성 데이터를 제외하고 object cache를 사용하도록 함과 이에 따라 해당 값이 변경될 때 cache를 갱신하지 않도록 변경. - readed_count, comment_count, voted_count, blamed_count, trackback_count
This commit is contained in:
parent
80f10ee9e7
commit
b29cf1fb67
3 changed files with 45 additions and 58 deletions
|
|
@ -195,9 +195,7 @@ class documentAdminController extends document
|
||||||
{
|
{
|
||||||
foreach($document_srl_list as $document_srl)
|
foreach($document_srl_list as $document_srl)
|
||||||
{
|
{
|
||||||
$cache_key = 'object:'.$document_srl;
|
$cache_key_item = 'document_item:'.$document_srl;
|
||||||
$oCacheHandler->delete($cache_key);
|
|
||||||
$cache_key_item = 'object_document_item:'.$document_srl;
|
|
||||||
$oCacheHandler->delete($cache_key_item);
|
$oCacheHandler->delete($cache_key_item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -453,9 +451,7 @@ class documentAdminController extends document
|
||||||
{
|
{
|
||||||
foreach($document_srl_list as $document_srl)
|
foreach($document_srl_list as $document_srl)
|
||||||
{
|
{
|
||||||
$cache_key = 'object:'.$document_srl;
|
$cache_key_item = 'document_item:'.$document_srl;
|
||||||
$oCacheHandler->delete($cache_key);
|
|
||||||
$cache_key_item = 'object_document_item:'.$document_srl;
|
|
||||||
$oCacheHandler->delete($cache_key_item);
|
$oCacheHandler->delete($cache_key_item);
|
||||||
$oCacheHandler->invalidateGroupKey('commentList_' . $document_srl);
|
$oCacheHandler->invalidateGroupKey('commentList_' . $document_srl);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -320,13 +320,6 @@ class documentController extends document
|
||||||
$this->addGrant($obj->document_srl);
|
$this->addGrant($obj->document_srl);
|
||||||
$output->add('document_srl',$obj->document_srl);
|
$output->add('document_srl',$obj->document_srl);
|
||||||
$output->add('category_srl',$obj->category_srl);
|
$output->add('category_srl',$obj->category_srl);
|
||||||
//remove from cache
|
|
||||||
$oCacheHandler = CacheHandler::getInstance('object');
|
|
||||||
if($oCacheHandler->isSupport())
|
|
||||||
{
|
|
||||||
$cache_key = 'object:'.$obj->document_srl;
|
|
||||||
$oCacheHandler->delete($cache_key);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
|
|
@ -538,10 +531,8 @@ class documentController extends document
|
||||||
$oCacheHandler = CacheHandler::getInstance('object');
|
$oCacheHandler = CacheHandler::getInstance('object');
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
$cache_key = 'object:'.$obj->document_srl;
|
|
||||||
$oCacheHandler->delete($cache_key);
|
|
||||||
//remove document item from cache
|
//remove document item from cache
|
||||||
$cache_key = 'object_document_item:'.$obj->document_srl;
|
$cache_key = 'document_item:'.$obj->document_srl;
|
||||||
$oCacheHandler->delete($cache_key);
|
$oCacheHandler->delete($cache_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -632,9 +623,7 @@ class documentController extends document
|
||||||
$oCacheHandler = CacheHandler::getInstance('object');
|
$oCacheHandler = CacheHandler::getInstance('object');
|
||||||
if($oCacheHandler->isSupport())
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
$cache_key = 'object:'.$document_srl;
|
$cache_key = 'document_item:'.$document_srl;
|
||||||
$oCacheHandler->delete($cache_key);
|
|
||||||
$cache_key = 'object_document_item:'.$document_srl;
|
|
||||||
$oCacheHandler->delete($cache_key);
|
$oCacheHandler->delete($cache_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -799,6 +788,7 @@ class documentController extends document
|
||||||
// Call a trigger when the read count is updated (after)
|
// Call a trigger when the read count is updated (after)
|
||||||
$output = ModuleHandler::triggerCall('document.updateReadedCount', 'after', $oDocument);
|
$output = ModuleHandler::triggerCall('document.updateReadedCount', 'after', $oDocument);
|
||||||
if(!$output->toBool()) return $output;
|
if(!$output->toBool()) return $output;
|
||||||
|
|
||||||
// Pass if read count is increaded on the session information
|
// Pass if read count is increaded on the session information
|
||||||
if($_SESSION['readed_document'][$document_srl]) return false;
|
if($_SESSION['readed_document'][$document_srl]) return false;
|
||||||
|
|
||||||
|
|
@ -818,18 +808,9 @@ class documentController extends document
|
||||||
$args = new stdClass;
|
$args = new stdClass;
|
||||||
$args->document_srl = $document_srl;
|
$args->document_srl = $document_srl;
|
||||||
$output = executeQuery('document.updateReadedCount', $args);
|
$output = executeQuery('document.updateReadedCount', $args);
|
||||||
|
|
||||||
// Register session
|
// Register session
|
||||||
$_SESSION['readed_document'][$document_srl] = true;
|
$_SESSION['readed_document'][$document_srl] = true;
|
||||||
//remove from cache
|
|
||||||
$oCacheHandler = CacheHandler::getInstance('object');
|
|
||||||
if($oCacheHandler->isSupport())
|
|
||||||
{
|
|
||||||
$cache_key = 'object:'.$document_srl;
|
|
||||||
$oCacheHandler->delete($cache_key);
|
|
||||||
//remove document item from cache
|
|
||||||
$cache_key = 'object_document_item:'.$document_srl;
|
|
||||||
$oCacheHandler->delete($cache_key);
|
|
||||||
}
|
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
@ -1214,17 +1195,6 @@ class documentController extends document
|
||||||
$args->last_updater = $last_updater;
|
$args->last_updater = $last_updater;
|
||||||
}
|
}
|
||||||
|
|
||||||
//remove from cache
|
|
||||||
$oCacheHandler = CacheHandler::getInstance('object');
|
|
||||||
if($oCacheHandler->isSupport())
|
|
||||||
{
|
|
||||||
$cache_key = 'object:'.$document_srl;
|
|
||||||
$oCacheHandler->delete($cache_key);
|
|
||||||
//remove document item from cache
|
|
||||||
$cache_key = 'object_document_item:'.$document_srl;
|
|
||||||
$oCacheHandler->delete($cache_key);
|
|
||||||
}
|
|
||||||
|
|
||||||
return executeQuery('document.updateCommentCount', $args);
|
return executeQuery('document.updateCommentCount', $args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -78,24 +78,48 @@ class documentItem extends Object
|
||||||
|
|
||||||
// cache controll
|
// cache controll
|
||||||
$oCacheHandler = CacheHandler::getInstance('object');
|
$oCacheHandler = CacheHandler::getInstance('object');
|
||||||
if($oCacheHandler->isSupport() && !count($this->columnList))
|
if($oCacheHandler->isSupport())
|
||||||
{
|
{
|
||||||
$cache_key = 'object_document_item:'.$this->document_srl;
|
$cache_key = 'document_item:' . $this->document_srl;
|
||||||
$output = $oCacheHandler->get($cache_key);
|
$document_item = $oCacheHandler->get($cache_key);
|
||||||
|
if($document_item)
|
||||||
|
{
|
||||||
|
$document_item = (object)$document_item->getVariables();
|
||||||
|
$this->columnList = array('readed_count', 'voted_count', 'blamed_count', 'comment_count', 'trackback_count');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->columnList = array();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(!$output)
|
|
||||||
|
$args = new stdClass();
|
||||||
|
$args->document_srl = $this->document_srl;
|
||||||
|
$output = executeQuery('document.getDocument', $args, $this->columnList);
|
||||||
|
|
||||||
|
if(!$document_item)
|
||||||
{
|
{
|
||||||
$args = new stdClass();
|
$document_item = $output->data;
|
||||||
$args->document_srl = $this->document_srl;
|
}
|
||||||
$output = executeQuery('document.getDocument', $args, $this->columnList);
|
else
|
||||||
//insert in cache
|
{
|
||||||
if($output->data->document_srl && $oCacheHandler->isSupport())
|
$document_item->readed_count = $output->data->readed_count;
|
||||||
$oCacheHandler->put($cache_key,$output);
|
$document_item->voted_count = $output->data->voted_count;
|
||||||
|
$document_item->blamed_count = $output->data->blamed_count;
|
||||||
|
$document_item->comment_count = $output->data->comment_count;
|
||||||
|
$document_item->trackback_count = $output->data->trackback_count;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->setAttribute($document_item, $load_extra_vars);
|
||||||
|
|
||||||
|
//insert in cache
|
||||||
|
if($this->document_srl && $oCacheHandler->isSupport())
|
||||||
|
{
|
||||||
|
$oCacheHandler->put($cache_key, $this);
|
||||||
}
|
}
|
||||||
$this->setAttribute($output->data,$load_extra_vars);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function setAttribute($attribute,$load_extra_vars=true)
|
function setAttribute($attribute, $load_extra_vars=true)
|
||||||
{
|
{
|
||||||
if(!$attribute->document_srl)
|
if(!$attribute->document_srl)
|
||||||
{
|
{
|
||||||
|
|
@ -105,15 +129,12 @@ class documentItem extends Object
|
||||||
$this->document_srl = $attribute->document_srl;
|
$this->document_srl = $attribute->document_srl;
|
||||||
$this->lang_code = $attribute->lang_code;
|
$this->lang_code = $attribute->lang_code;
|
||||||
$this->adds($attribute);
|
$this->adds($attribute);
|
||||||
|
|
||||||
// Tags
|
// Tags
|
||||||
if($this->get('tags'))
|
if($this->get('tags'))
|
||||||
{
|
{
|
||||||
$tags = explode(',',$this->get('tags'));
|
$tag_list = explode(',', $this->get('tags'));
|
||||||
$tag_count = count($tags);
|
$tag_list = array_map('trim', $tag_list);
|
||||||
for($i=0;$i<$tag_count;$i++)
|
|
||||||
{
|
|
||||||
if(trim($tags[$i])) $tag_list[] = trim($tags[$i]);
|
|
||||||
}
|
|
||||||
$this->add('tag_list', $tag_list);
|
$this->add('tag_list', $tag_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue