#242 object cache 정리

This commit is contained in:
bnu 2014-01-06 16:48:54 +09:00
parent d4d43c1382
commit 37c5e114ec
20 changed files with 513 additions and 253 deletions

View file

@ -221,7 +221,7 @@ class memberModel extends member
else
{
// Register a default group if the site doesn't have a member group
if(!count($logged_info->group_list))
if(count($logged_info->group_list) === 0)
{
$default_group = $this->getDefaultGroup(0);
$oMemberController = getController('member');
@ -287,7 +287,8 @@ class memberModel extends member
$oCacheHandler = CacheHandler::getInstance('object', null, true);
if($oCacheHandler->isSupport())
{
$cache_key = 'object:member_info:'.$member_srl;
$object_key = 'member_info:' . getNumberingPath($member_srl) . $member_srl;
$cache_key = $oCacheHandler->getGroupKey('member', $object_key);
$GLOBALS['__member_info__'][$member_srl] = $oCacheHandler->get($cache_key);
}
@ -296,7 +297,11 @@ class memberModel extends member
$args = new stdClass();
$args->member_srl = $member_srl;
$output = executeQuery('member.getMemberInfoByMemberSrl', $args, $columnList);
if(!$output->data) return;
if(!$output->data)
{
if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key, new stdClass);
return;
}
$this->arrangeMemberInfo($output->data, $site_srl);
//insert in cache
@ -445,25 +450,26 @@ class memberModel extends member
$oCacheHandler = CacheHandler::getInstance('object', null, true);
if($oCacheHandler->isSupport())
{
$cache_key = 'object_member_groups:'.$member_srl.'_'.$site_srl;
$output = $oCacheHandler->get($cache_key);
$object_key = 'member_groups:' . getNumberingPath($member_srl) . $member_srl . '_'.$site_srl;
$cache_key = $oCacheHandler->getGroupKey('member', $object_key);
$group_list = $oCacheHandler->get($cache_key);
}
static $member_groups = array();
if(!$member_groups[$member_srl][$site_srl] || $force_reload)
{
if(!$output)
if(!$group_list && !is_array($group_list))
{
$args = new stdClass();
$args->member_srl = $member_srl;
$args->site_srl = $site_srl;
$output = executeQuery('member.getMemberGroups', $args);
$output = executeQueryArray('member.getMemberGroups', $args);
$group_list = $output->data;
//insert in cache
if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key,$output);
if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key, $group_list);
}
if(!$output->data) return array();
$group_list = $output->data;
if(!is_array($group_list)) $group_list = array($group_list);
if(!$group_list) return array();
foreach($group_list as $group)
{
@ -498,10 +504,27 @@ class memberModel extends member
*/
function getDefaultGroup($site_srl = 0, $columnList = array())
{
$args = new stdClass();
$args->site_srl = $site_srl;
$output = executeQuery('member.getDefaultGroup', $args, $columnList);
return $output->data;
$oCacheHandler = CacheHandler::getInstance('object', null, true);
if($oCacheHandler->isSupport())
{
$object_key = 'default_group_' . $site_srl;
$cache_key = $oCacheHandler->getGroupKey('member', $object_key);
$default_group = $oCacheHandler->get($cache_key);
}
if(!$default_group)
{
$args = new stdClass();
$args->site_srl = $site_srl;
$output = executeQuery('member.getDefaultGroup', $args, $columnList);
$default_group = $output->data;
if($oCacheHandler->isSupport())
{
$oCacheHandler->put($cache_key, $default_group);
}
}
return $default_group;
}
/**
@ -541,10 +564,11 @@ class memberModel extends member
$oCacheHandler = CacheHandler::getInstance('object', null, true);
if($oCacheHandler->isSupport())
{
$cache_key = 'object_groups:'.$site_srl;
$output = $oCacheHandler->get($cache_key);
$object_key = 'member_groups:site_'.$site_srl;
$cache_key = $oCacheHandler->getGroupKey('member', $object_key);
$group_list = $oCacheHandler->get($cache_key);
}
if(!$output)
if(!$group_list)
{
$args = new stdClass();
@ -552,16 +576,16 @@ class memberModel extends member
$args->sort_index = 'list_order';
$args->order_type = 'asc';
$output = executeQueryArray('member.getGroups', $args);
$group_list = $output->data;
//insert in cache
if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key,$output);
if($oCacheHandler->isSupport()) $oCacheHandler->put($cache_key, $group_list);
}
if(!$output->toBool() || !$output->data)
if(!$group_list)
{
return array();
}
$group_list = $output->data;
foreach($group_list as $val)
{