#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

@ -1063,7 +1063,10 @@ class memberAdminController extends member
$args->source_group_srl = $source_group_srl;
$args->target_group_srl = $target_group_srl;
return executeQuery('member.changeGroup', $args);
$output = executeQuery('member.changeGroup', $args);
$this->_deleteMemberGroupCache($site_srl);
return $output;
}
/**
@ -1075,7 +1078,7 @@ class memberAdminController extends member
{
if(!$args->site_srl) $args->site_srl = 0;
// Check the value of is_default.
if($args->is_default!='Y')
if($args->is_default != 'Y')
{
$args->is_default = 'N';
}
@ -1088,6 +1091,7 @@ class memberAdminController extends member
if(!$args->group_srl) $args->group_srl = getNextSequence();
$output = executeQuery('member.insertGroup', $args);
$this->_deleteMemberGroupCache($args->site_srl);
return $output;
}
@ -1126,20 +1130,22 @@ class memberAdminController extends member
{
// Create a member model object
$oMemberModel = getModel('member');
// Check the group_srl (If is_default == 'Y', it cannot be deleted)
$columnList = array('group_srl', 'is_default');
$group_info = $oMemberModel->getGroup($group_srl, $columnList);
if(!$group_info) return new Object(-1, 'lang->msg_not_founded');
if($group_info->is_default == 'Y') return new Object(-1, 'msg_not_delete_default');
// Get groups where is_default == 'Y'
$columnList = array('site_srl', 'group_srl');
$default_group = $oMemberModel->getDefaultGroup($site_srl, $columnList);
$default_group_srl = $default_group->group_srl;
// Change to default_group_srl
$this->changeGroup($group_srl, $default_group_srl);
$args = new stdClass;
$args->group_srl = $group_srl;
$output = executeQuery('member.deleteGroup', $args);
@ -1236,8 +1242,7 @@ class memberAdminController extends member
$oCacheHandler = CacheHandler::getInstance('object', null, true);
if($oCacheHandler->isSupport())
{
$cache_key = 'object_groups:'.$site_srl;
$oCacheHandler->delete($cache_key);
$oCacheHandler->invalidateGroupKey('member');
}
}

View file

@ -1446,7 +1446,6 @@ class memberController extends member
$args->member_srl = $member_srl;
$args->group_srl = $group_srl;
if($site_srl) $args->site_srl = $site_srl;
$oModel =& getModel('member');
$groups = $oModel->getMemberGroups($member_srl, $site_srl, true);
if($groups[$group_srl]) return new Object();
@ -1458,7 +1457,12 @@ class memberController extends member
$oCacheHandler = CacheHandler::getInstance('object', null, true);
if($oCacheHandler->isSupport())
{
$cache_key = 'object_member_groups:'.$member_srl.'_'.$site_srl;
$object_key = 'member_groups:' . getNumberingPath($args->member_srl) . $args->member_srl . '_'.$args->site_srl;
$cache_key = $oCacheHandler->getGroupKey('member', $object_key);
$oCacheHandler->delete($cache_key);
$object_key = 'member_info:' . getNumberingPath($args->member_srl) . $args->member_srl;
$cache_key = $oCacheHandler->getGroupKey('member', $object_key);
$oCacheHandler->delete($cache_key);
}
@ -1499,14 +1503,20 @@ class memberController extends member
$obj->regdate = $date[$obj->member_srl];
$output = executeQuery('member.addMemberToGroup', $obj);
if(!$output->toBool()) return $output;
$oCacheHandler = CacheHandler::getInstance('object', null, true);
if($oCacheHandler->isSupport())
{
$object_key = 'member_groups:' . getNumberingPath($args->member_srl) . $args->member_srl . '_' . $args->site_srl;
$cache_key = $oCacheHandler->getGroupKey('member', $object_key);
$oCacheHandler->delete($cache_key);
$object_key = 'member_info:' . getNumberingPath($args->member_srl) . $args->member_srl;
$cache_key = $oCacheHandler->getGroupKey('member', $object_key);
$oCacheHandler->delete($cache_key);
}
}
$oCacheHandler = CacheHandler::getInstance('object', null, true);
if($oCacheHandler->isSupport())
{
$cache_key = 'object_member_groups:'.$member_srl.'_'.$site_srl;
$oCacheHandler->delete($cache_key);
}
return new Object();
}
@ -2122,7 +2132,7 @@ class memberController extends member
$oCacheHandler = CacheHandler::getInstance('object', null, true);
if($oCacheHandler->isSupport())
{
$cache_key = 'object:member_info:'.$args->member_srl;
$cache_key = 'member:info:'.$args->member_srl;
$oCacheHandler->delete($cache_key);
}
@ -2144,7 +2154,7 @@ class memberController extends member
$oCacheHandler = CacheHandler::getInstance('object');
if($oCacheHandler->isSupport())
{
$cache_key = 'object:'.$args->member_srl;
$cache_key = 'member:info:'.$args->member_srl;
$oCacheHandler->delete($cache_key);
}

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)
{