#385 commentList_{document_srl} object cache 제거

This commit is contained in:
bnu 2014-01-31 02:02:20 +09:00
parent 2f469bb850
commit aa0d6e7cd8
3 changed files with 54 additions and 110 deletions

View file

@ -469,16 +469,6 @@ class commentController extends comment
$output->add('comment_srl', $obj->comment_srl); $output->add('comment_srl', $obj->comment_srl);
//remove from cache
$oCacheHandler = CacheHandler::getInstance('object');
if($oCacheHandler->isSupport())
{
$oCacheHandler->invalidateGroupKey('commentList_' . $document_srl);
$oCacheHandler->invalidateGroupKey('newestCommentsList');
$oCacheHandler->delete('object:' . $document_srl);
}
return $output; return $output;
} }
@ -736,14 +726,6 @@ class commentController extends comment
$output->add('comment_srl', $obj->comment_srl); $output->add('comment_srl', $obj->comment_srl);
//remove from cache
$oCacheHandler = CacheHandler::getInstance('object');
if($oCacheHandler->isSupport())
{
$oCacheHandler->invalidateGroupKey('commentList_' . $obj->document_srl);
$oCacheHandler->invalidateGroupKey('newestCommentsList');
}
return $output; return $output;
} }
@ -872,16 +854,6 @@ class commentController extends comment
$output->add('document_srl', $document_srl); $output->add('document_srl', $document_srl);
//remove from cache
$oCacheHandler = CacheHandler::getInstance('object');
if($oCacheHandler->isSupport())
{
$oCacheHandler->invalidateGroupKey('commentList_' . $document_srl);
$oCacheHandler->invalidateGroupKey('newestCommentsList');
$oCacheHandler->delete('object:' . $document_srl);
}
return $output; return $output;
} }
@ -970,14 +942,6 @@ class commentController extends comment
$this->_deleteVotedComments($args); $this->_deleteVotedComments($args);
} }
//remove from cache
$oCacheHandler = CacheHandler::getInstance('object');
if($oCacheHandler->isSupport())
{
$oCacheHandler->invalidateGroupKey('commentList_' . $document_srl);
$oCacheHandler->invalidateGroupKey('newestCommentsList');
}
return $output; return $output;
} }

View file

@ -445,97 +445,78 @@ class commentModel extends comment
return; return;
} }
// cache controll // get the number of comments on the document module
$output = false; $oDocumentModel = getModel('document');
$oCacheHandler = CacheHandler::getInstance('object'); $columnList = array('document_srl', 'module_srl', 'comment_count');
if($oCacheHandler->isSupport()) $oDocument = $oDocumentModel->getDocument($document_srl, FALSE, TRUE, $columnList);
// return if no doc exists.
if(!$oDocument->isExists())
{ {
$object_key = 'object:' . $document_srl . '_' . $page . '_' . ($is_admin ? 'Y' : 'N') . '_' . $count; return;
$cache_key = $oCacheHandler->getGroupKey('commentList_' . $document_srl, $object_key);
$output = $oCacheHandler->get($cache_key);
} }
if($output === FALSE) // return if no comment exists
if($oDocument->getCommentCount() < 1)
{ {
// get the number of comments on the document module return;
$oDocumentModel = getModel('document'); }
$columnList = array('document_srl', 'module_srl', 'comment_count');
$oDocument = $oDocumentModel->getDocument($document_srl, FALSE, TRUE, $columnList);
// return if no doc exists. // get a list of comments
if(!$oDocument->isExists()) $module_srl = $oDocument->get('module_srl');
if(!$count)
{
$comment_config = $this->getCommentConfig($module_srl);
$comment_count = $comment_config->comment_count;
if(!$comment_count)
{ {
return; $comment_count = 50;
} }
}
else
{
$comment_count = $count;
}
// return if no comment exists // get a very last page if no page exists
if($oDocument->getCommentCount() < 1) if(!$page)
{ {
return; $page = (int) ( ($oDocument->getCommentCount() - 1) / $comment_count) + 1;
} }
// get a list of comments // get a list of comments
$module_srl = $oDocument->get('module_srl'); $args = new stdClass();
$args->document_srl = $document_srl;
$args->list_count = $comment_count;
$args->page = $page;
$args->page_count = 10;
if(!$count) //check if module is using validation system
{ $oCommentController = getController('comment');
$comment_config = $this->getCommentConfig($module_srl); $using_validation = $oCommentController->isModuleUsingPublishValidation($module_srl);
$comment_count = $comment_config->comment_count; if($using_validation)
if(!$comment_count) {
{ $args->status = 1;
$comment_count = 50; }
}
}
else
{
$comment_count = $count;
}
// get a very last page if no page exists $output = executeQueryArray('comment.getCommentPageList', $args);
if(!$page)
{
$page = (int) ( ($oDocument->getCommentCount() - 1) / $comment_count) + 1;
}
// get a list of comments // return if an error occurs in the query results
$args = new stdClass(); if(!$output->toBool())
$args->document_srl = $document_srl; {
$args->list_count = $comment_count; return;
$args->page = $page; }
$args->page_count = 10;
//check if module is using validation system
$oCommentController = getController('comment');
$using_validation = $oCommentController->isModuleUsingPublishValidation($module_srl);
if($using_validation)
{
$args->status = 1;
}
// insert data into CommentPageList table if the number of results is different from stored comments
if(!$output->data)
{
$this->fixCommentList($oDocument->get('module_srl'), $document_srl);
$output = executeQueryArray('comment.getCommentPageList', $args); $output = executeQueryArray('comment.getCommentPageList', $args);
// return if an error occurs in the query results
if(!$output->toBool()) if(!$output->toBool())
{ {
return; return;
} }
// insert data into CommentPageList table if the number of results is different from stored comments
if(!$output->data)
{
$this->fixCommentList($oDocument->get('module_srl'), $document_srl);
$output = executeQueryArray('comment.getCommentPageList', $args);
if(!$output->toBool())
{
return;
}
}
//insert in cache
if($oCacheHandler->isSupport())
{
$oCacheHandler->put($cache_key, $output);
}
} }
return $output; return $output;

View file

@ -453,7 +453,6 @@ class documentAdminController extends document
{ {
$cache_key_item = 'document_item:'.$document_srl; $cache_key_item = 'document_item:'.$document_srl;
$oCacheHandler->delete($cache_key_item); $oCacheHandler->delete($cache_key_item);
$oCacheHandler->invalidateGroupKey('commentList_' . $document_srl);
} }
} }
} }