Use simpler syntax for cache groups

This commit is contained in:
Kijin Sung 2016-04-18 20:50:51 +09:00
parent e8d117d2f5
commit 26c5a18a5b
11 changed files with 67 additions and 72 deletions

View file

@ -148,7 +148,7 @@ class CacheHandler extends Handler
*/
public function getGroupKey($keyGroupName, $key)
{
return Rhymix\Framework\Cache::getRealKey($key, $keyGroupName, false);
return Rhymix\Framework\Cache::getRealKey($keyGroupName . ':' . $key, false);
}
/**

View file

@ -142,14 +142,13 @@ class Cache
* This method returns null if the key was not found.
*
* @param string $key
* @param string $group_name (optional)
* @return mixed
*/
public static function get($key, $group_name = null)
public static function get($key)
{
if (self::$_driver !== null)
{
return self::$_driver->get(self::getRealKey($key, $group_name));
return self::$_driver->get(self::getRealKey($key));
}
else
{
@ -166,10 +165,9 @@ class Cache
* @param string $key
* @param mixed $value
* @param int $ttl (optional)
* @param string $group_name (optional)
* @return bool
*/
public static function set($key, $value, $ttl = null, $group_name = null)
public static function set($key, $value, $ttl = null)
{
if (self::$_driver !== null)
{
@ -181,7 +179,7 @@ class Cache
{
$ttl = self::$_ttl;
}
return self::$_driver->set(self::getRealKey($key, $group_name), $value, intval($ttl)) ? true : false;
return self::$_driver->set(self::getRealKey($key), $value, intval($ttl)) ? true : false;
}
else
{
@ -196,14 +194,13 @@ class Cache
* If the key does not exist, it should return false.
*
* @param string $key
* @param string $group_name (optional)
* @return bool
*/
public static function delete($key, $group_name = null)
public static function delete($key)
{
if (self::$_driver !== null)
{
return self::$_driver->delete(self::getRealKey($key, $group_name)) ? true : false;
return self::$_driver->delete(self::getRealKey($key)) ? true : false;
}
else
{
@ -217,14 +214,13 @@ class Cache
* This method returns true on success and false on failure.
*
* @param string $key
* @param string $group_name (optional)
* @return bool
*/
public static function exists($key, $group_name = null)
public static function exists($key)
{
if (self::$_driver !== null)
{
return self::$_driver->exists(self::getRealKey($key, $group_name)) ? true : false;
return self::$_driver->exists(self::getRealKey($key)) ? true : false;
}
else
{
@ -302,15 +298,14 @@ class Cache
* Get the actual key used by Rhymix.
*
* @param string $key
* @param string $group_name (optional)
* @param bool $add_prefix (optional)
* @return string
*/
public static function getRealKey($key, $group_name = null, $add_prefix = true)
public static function getRealKey($key, $add_prefix = true)
{
if ($group_name)
if (preg_match('/^([^:]+):(.+)$/i', $key, $matches))
{
$key = $group_name . '#' . self::getGroupVersion($group_name) . ':' . $key;
$key = $matches[1] . '#' . self::getGroupVersion($matches[1]) . ':' . $matches[2];
}
return ($add_prefix ? self::$_prefix : '') . $key;

View file

@ -33,7 +33,7 @@ class counterModel extends counter
$iplogged = false;
$cache_key = 'counter:' . $site_srl . '_' . str_replace(array('.', ':'), '-', $args->ipaddress);
$group_key = 'counterIpLogged_' . $args->regdate;
$iplogged = Rhymix\Framework\Cache::get($cache_key, $group_key);
$iplogged = Rhymix\Framework\Cache::get($group_key . ':' . $cache_key);
if($iplogged === false)
{
@ -43,7 +43,7 @@ class counterModel extends counter
if($iplogged)
{
Rhymix\Framework\Cache::set($cache_key, $iplogged, 0, $group_key);
Rhymix\Framework\Cache::set($group_key . ':' . $cache_key, $iplogged);
}
return $iplogged;

View file

@ -679,7 +679,7 @@ class documentAdminController extends document
if(!$output->toBool()) return $output;
}
Rhymix\Framework\Cache::delete("module_document_extra_keys:$module_srl", 'site_and_module');
Rhymix\Framework\Cache::delete("site_and_module:module_document_extra_keys:$module_srl");
}
/**

View file

@ -1196,7 +1196,7 @@ class documentController extends document
$output = executeQuery('document.updateDocumentExtraVar', $obj);
}
Rhymix\Framework\Cache::delete("module_document_extra_keys:$module_srl", 'site_and_module');
Rhymix\Framework\Cache::delete("site_and_module:module_document_extra_keys:$module_srl");
return $output;
}
@ -1252,7 +1252,7 @@ class documentController extends document
$oDB->commit();
Rhymix\Framework\Cache::delete("module_document_extra_keys:$module_srl", 'site_and_module');
Rhymix\Framework\Cache::delete("site_and_module:module_document_extra_keys:$module_srl");
return new Object();
}

View file

@ -370,7 +370,7 @@ class documentModel extends document
{
if(!isset($GLOBALS['XE_EXTRA_KEYS'][$module_srl]))
{
$keys = Rhymix\Framework\Cache::get("module_document_extra_keys:$module_srl", 'site_and_module');
$keys = Rhymix\Framework\Cache::get("site_and_module:module_document_extra_keys:$module_srl");
$oExtraVar = ExtraVar::getInstance($module_srl);
if(!$keys)
@ -429,7 +429,7 @@ class documentModel extends document
$keys = $oExtraVar->getExtraVars();
if(!$keys) $keys = array();
Rhymix\Framework\Cache::set("module_document_extra_keys:$module_srl", $keys, 0, 'site_and_module');
Rhymix\Framework\Cache::set("site_and_module:module_document_extra_keys:$module_srl", $keys);
}

View file

@ -2972,11 +2972,11 @@ class memberController extends member
function _clearMemberCache($member_srl, $site_srl = 0)
{
$member_srl = getNumberingPath($member_srl) . $member_srl;
Rhymix\Framework\Cache::delete("member_info:$member_srl", 'member');
Rhymix\Framework\Cache::delete("member_groups:$member_srl:site:$site_srl", 'member');
Rhymix\Framework\Cache::delete("member:member_info:$member_srl");
Rhymix\Framework\Cache::delete("member:member_groups:$member_srl:site:$site_srl");
if ($site_srl != 0)
{
Rhymix\Framework\Cache::delete("member_groups:$member_srl:site:0", 'member');
Rhymix\Framework\Cache::delete("member:member_groups:$member_srl:site:0");
}
}
}

View file

@ -326,8 +326,8 @@ class memberModel extends member
//columnList size zero... get full member info
if(!$GLOBALS['__member_info__'][$member_srl] || count($columnList) == 0)
{
$cache_key = 'member_info:' . getNumberingPath($member_srl) . $member_srl;
$GLOBALS['__member_info__'][$member_srl] = Rhymix\Framework\Cache::get($cache_key, 'member');
$cache_key = 'member:member_info:' . getNumberingPath($member_srl) . $member_srl;
$GLOBALS['__member_info__'][$member_srl] = Rhymix\Framework\Cache::get($cache_key);
if(!$GLOBALS['__member_info__'][$member_srl])
{
$args = new stdClass();
@ -335,12 +335,12 @@ class memberModel extends member
$output = executeQuery('member.getMemberInfoByMemberSrl', $args, $columnList);
if(!$output->data)
{
Rhymix\Framework\Cache::set($cache_key, new stdClass, 0, 'member');
Rhymix\Framework\Cache::set($cache_key, new stdClass);
return new stdClass;
}
$this->arrangeMemberInfo($output->data, $site_srl);
Rhymix\Framework\Cache::set($cache_key, $GLOBALS['__member_info__'][$member_srl], 0, 'member');
Rhymix\Framework\Cache::set($cache_key, $GLOBALS['__member_info__'][$member_srl]);
}
}
@ -483,8 +483,8 @@ class memberModel extends member
static $member_groups = array();
// cache controll
$cache_key = 'member_groups:' . getNumberingPath($member_srl) . $member_srl . ':site:' . $site_srl;
$group_list = Rhymix\Framework\Cache::get($cache_key, 'member');
$cache_key = 'member:member_groups:' . getNumberingPath($member_srl) . $member_srl . ':site:' . $site_srl;
$group_list = Rhymix\Framework\Cache::get($cache_key);
if(!$member_groups[$member_srl][$site_srl] || $force_reload)
{
@ -496,7 +496,7 @@ class memberModel extends member
$output = executeQueryArray('member.getMemberGroups', $args);
$group_list = $output->data;
//insert in cache
Rhymix\Framework\Cache::set($cache_key, $group_list, 0, 'member');
Rhymix\Framework\Cache::set($cache_key, $group_list);
}
if(!$group_list) return array();
@ -533,7 +533,7 @@ class memberModel extends member
*/
function getDefaultGroup($site_srl = 0, $columnList = array())
{
$default_group = Rhymix\Framework\Cache::get("default_group:$site_srl", 'member');
$default_group = Rhymix\Framework\Cache::get("member:default_group:$site_srl");
if(!$default_group)
{
@ -541,7 +541,7 @@ class memberModel extends member
$args->site_srl = $site_srl;
$output = executeQuery('member.getDefaultGroup', $args, $columnList);
$default_group = $output->data;
Rhymix\Framework\Cache::set("default_group:$site_srl", $default_group, 0, 'member');
Rhymix\Framework\Cache::set("member:default_group:$site_srl", $default_group);
}
return $default_group;
@ -581,7 +581,7 @@ class memberModel extends member
$site_srl = 0;
}
$group_list = Rhymix\Framework\Cache::get("member_groups:site:$site_srl", 'member');
$group_list = Rhymix\Framework\Cache::get("member:member_groups:site:$site_srl");
if(!$group_list)
{
@ -591,7 +591,7 @@ class memberModel extends member
$args->order_type = 'asc';
$output = executeQueryArray('member.getGroups', $args);
$group_list = $output->data;
Rhymix\Framework\Cache::set("member_groups:site:$site_srl", $group_list, 0, 'member');
Rhymix\Framework\Cache::set("member:member_groups:site:$site_srl", $group_list);
}
if(!$group_list)

View file

@ -980,17 +980,17 @@ class moduleController extends module
if($mode === 'P')
{
$object_key = 'module_skin_vars:'.$module_srl;
$object_key = 'site_and_module:module_skin_vars:' . $module_srl;
$query = 'module.deleteModuleSkinVars';
}
else
{
$object_key = 'module_mobile_skin_vars:'.$module_srl;
$object_key = 'site_and_module:module_mobile_skin_vars:' . $module_srl;
$query = 'module.deleteModuleMobileSkinVars';
}
//remove from cache
Rhymix\Framework\Cache::delete($object_key, 'site_and_module');
Rhymix\Framework\Cache::delete($object_key);
return executeQuery($query, $args);
}
@ -1015,7 +1015,7 @@ class moduleController extends module
$output = executeQuery('module.insertModuleExtraVars', $args);
}
Rhymix\Framework\Cache::delete("module_extra_vars:$module_srl", 'site_and_module');
Rhymix\Framework\Cache::delete("site_and_module:module_extra_vars:$module_srl");
}
/**
@ -1028,7 +1028,7 @@ class moduleController extends module
$output = executeQuery('module.deleteModuleExtraVars', $args);
//remove from cache
Rhymix\Framework\Cache::delete("module_extra_vars:$module_srl", 'site_and_module');
Rhymix\Framework\Cache::delete("site_and_module:module_extra_vars:$module_srl");
return $output;
}

View file

@ -118,14 +118,14 @@ class moduleModel extends module
// If domain is set, look for subsite
if($domain !== '')
{
$site_info = Rhymix\Framework\Cache::get('site_info:' . md5($domain), 'site_and_module');
$site_info = Rhymix\Framework\Cache::get('site_and_module:site_info:' . md5($domain));
if($site_info === null)
{
$args = new stdClass();
$args->domain = $domain;
$output = executeQuery('module.getSiteInfoByDomain', $args);
$site_info = $output->data;
Rhymix\Framework\Cache::set('site_info:' . md5($domain), $site_info, 0, 'site_and_module');
Rhymix\Framework\Cache::set('site_and_module:site_info:' . md5($domain), $site_info);
}
if($site_info && $vid)
@ -139,7 +139,7 @@ class moduleModel extends module
// If no virtual website was found, get default website
if($domain === '')
{
$site_info = Rhymix\Framework\Cache::get('default_site', 'site_and_module');
$site_info = Rhymix\Framework\Cache::get('site_and_module:default_site');
if($site_info === null)
{
$args = new stdClass();
@ -177,7 +177,7 @@ class moduleModel extends module
$output = executeQuery('module.getSiteInfo', $args);
}
$site_info = $output->data;
Rhymix\Framework\Cache::set('default_site', $site_info, 0, 'site_and_module');
Rhymix\Framework\Cache::set('site_and_module:default_site', $site_info);
}
}
@ -200,10 +200,10 @@ class moduleModel extends module
$args->mid = $mid;
$args->site_srl = (int)$site_srl;
$module_srl = Rhymix\Framework\Cache::get('module_srl:' . $mid . '_' . $site_srl, 'site_and_module');
$module_srl = Rhymix\Framework\Cache::get('site_and_module:module_srl:' . $mid . '_' . $site_srl);
if($module_srl)
{
$module_info = Rhymix\Framework\Cache::get('mid_info:' . $module_srl, 'site_and_module');
$module_info = Rhymix\Framework\Cache::get('site_and_module:mid_info:' . $module_srl);
}
else
{
@ -215,8 +215,8 @@ class moduleModel extends module
$output = executeQuery('module.getMidInfo', $args);
$module_info = $output->data;
Rhymix\Framework\Cache::set('module_srl:' . $mid . '_' . $site_srl, $module_info->module_srl, 0, 'site_and_module');
Rhymix\Framework\Cache::set('mid_info:' . $module_info->module_srl, $module_info, 0, 'site_and_module');
Rhymix\Framework\Cache::set('site_and_module:module_srl:' . $mid . '_' . $site_srl, $module_info->module_srl);
Rhymix\Framework\Cache::set('site_and_module:mid_info:' . $module_info->module_srl, $module_info);
}
$this->applyDefaultSkin($module_info);
@ -289,10 +289,10 @@ class moduleModel extends module
$moduleInfo->designSettings->skin->mobileIsDefault = $moduleInfo->is_mskin_fix == 'N' ? 1 : 0;
$moduleInfo->designSettings->skin->mobile = $skinInfoMobile->title;
$module_srl = Rhymix\Framework\Cache::get('module_srl:' . $mid . '_' . $site_srl, 'site_and_module');
$module_srl = Rhymix\Framework\Cache::get('site_and_module:module_srl:' . $mid . '_' . $site_srl);
if($module_srl)
{
$mid_info = Rhymix\Framework\Cache::get('mid_info:' . $module_srl, 'site_and_module');
$mid_info = Rhymix\Framework\Cache::get('site_and_module:mid_info:' . $module_srl);
}
else
{
@ -301,8 +301,8 @@ class moduleModel extends module
if($mid_info === null)
{
Rhymix\Framework\Cache::set('module_srl:' . $mid . '_' . $site_srl, $output->data->module_srl, 0, 'site_and_module');
Rhymix\Framework\Cache::set('mid_info:' . $output->data->module_srl, $moduleInfo, 0, 'site_and_module');
Rhymix\Framework\Cache::set('site_and_module:module_srl:' . $mid . '_' . $site_srl, $output->data->module_srl);
Rhymix\Framework\Cache::set('site_and_module:mid_info:' . $output->data->module_srl, $moduleInfo);
}
else
{
@ -328,7 +328,7 @@ class moduleModel extends module
*/
function getModuleInfoByModuleSrl($module_srl, $columnList = array())
{
$mid_info = Rhymix\Framework\Cache::get('mid_info:' . $module_srl, 'site_and_module');
$mid_info = Rhymix\Framework\Cache::get("site_and_module:mid_info:$module_srl");
if($mid_info === null)
{
// Get data
@ -338,7 +338,7 @@ class moduleModel extends module
if(!$output->toBool()) return;
$mid_info = $output->data;
$this->applyDefaultSkin($mid_info);
Rhymix\Framework\Cache::set('mid_info:' . $module_srl, $mid_info, 0, 'site_and_module');
Rhymix\Framework\Cache::set("site_and_module:mid_info:$module_srl", $mid_info);
}
if($mid_info && count($columnList))
@ -450,7 +450,7 @@ class moduleModel extends module
*/
function getMidList($args = null, $columnList = array())
{
$list = Rhymix\Framework\Cache::get('module:mid_list_' . $args->site_srl, 'site_and_module');
$list = Rhymix\Framework\Cache::get('site_and_module:module:mid_list_' . $args->site_srl);
if($list === null)
{
if(count($args) === 1 && isset($args->site_srl))
@ -464,7 +464,7 @@ class moduleModel extends module
if(count($args) === 1 && isset($args->site_srl))
{
Rhymix\Framework\Cache::set('module:mid_list_' . $args->site_srl, $list, 0, 'site_and_module');
Rhymix\Framework\Cache::set('site_and_module:module:mid_list_' . $args->site_srl, $list);
}
}
@ -1304,7 +1304,7 @@ class moduleModel extends module
*/
function getModuleConfig($module, $site_srl = 0)
{
$config = Rhymix\Framework\Cache::get('module_config:' . $module . '_' . $site_srl, 'site_and_module');
$config = Rhymix\Framework\Cache::get('site_and_module:module_config:' . $module . '_' . $site_srl);
if($config === null)
{
if(!$GLOBALS['__ModuleConfig__'][$site_srl][$module])
@ -1317,7 +1317,7 @@ class moduleModel extends module
else $config = new stdClass;
//insert in cache
Rhymix\Framework\Cache::set('module_config:' . $module . '_' . $site_srl, $config, 0, 'site_and_module');
Rhymix\Framework\Cache::set('site_and_module:module_config:' . $module . '_' . $site_srl, $config);
$GLOBALS['__ModuleConfig__'][$site_srl][$module] = $config;
}
return $GLOBALS['__ModuleConfig__'][$site_srl][$module];
@ -1332,7 +1332,7 @@ class moduleModel extends module
*/
function getModulePartConfig($module, $module_srl)
{
$config = Rhymix\Framework\Cache::get('module_part_config:' . $module . '_' . $module_srl, 'site_and_module');
$config = Rhymix\Framework\Cache::get('site_and_module:module_part_config:' . $module . '_' . $module_srl);
if($config === null)
{
if(!isset($GLOBALS['__ModulePartConfig__'][$module][$module_srl]))
@ -1345,7 +1345,7 @@ class moduleModel extends module
else $config = null;
//insert in cache
Rhymix\Framework\Cache::set('module_part_config:' . $module . '_' . $module_srl, $config, 0, 'site_and_module');
Rhymix\Framework\Cache::set('site_and_module:module_part_config:' . $module . '_' . $module_srl, $config);
$GLOBALS['__ModulePartConfig__'][$module][$module_srl] = $config;
}
return $GLOBALS['__ModulePartConfig__'][$module][$module_srl];
@ -1643,7 +1643,7 @@ class moduleModel extends module
foreach($list_module_srl as $module_srl)
{
$vars = Rhymix\Framework\Cache::get("module_extra_vars:$module_srl", 'site_and_module');
$vars = Rhymix\Framework\Cache::get("site_and_module:module_extra_vars:$module_srl");
if($vars !== null)
{
$extra_vars[$module_srl] = $vars;
@ -1682,7 +1682,7 @@ class moduleModel extends module
}
$extra_vars[$val->module_srl]->{$val->name} = $val->value;
Rhymix\Framework\Cache::set('module_extra_vars:' . $val->module_srl, $extra_vars[$val->module_srl], 0, 'site_and_module');
Rhymix\Framework\Cache::set('site_and_module:module_extra_vars:' . $val->module_srl, $extra_vars[$val->module_srl]);
}
}
@ -1694,7 +1694,7 @@ class moduleModel extends module
*/
function getModuleSkinVars($module_srl)
{
$skin_vars = Rhymix\Framework\Cache::get("module_skin_vars:$module_srl", 'site_and_module');
$skin_vars = Rhymix\Framework\Cache::get("site_and_module:module_skin_vars:$module_srl");
if($skin_vars === null)
{
$args = new stdClass();
@ -1708,7 +1708,7 @@ class moduleModel extends module
$skin_vars[$vars->name] = $vars;
}
Rhymix\Framework\Cache::set("module_skin_vars:$module_srl", $skin_vars, 0, 'site_and_module');
Rhymix\Framework\Cache::set("site_and_module:module_skin_vars:$module_srl", $skin_vars, 0);
}
return $skin_vars;
@ -1800,7 +1800,7 @@ class moduleModel extends module
*/
function getModuleMobileSkinVars($module_srl)
{
$skin_vars = Rhymix\Framework\Cache::get("module_mobile_skin_vars:$module_srl", 'site_and_module');
$skin_vars = Rhymix\Framework\Cache::get("site_and_module:module_mobile_skin_vars:$module_srl");
if($skin_vars === null)
{
$args = new stdClass();
@ -1814,7 +1814,7 @@ class moduleModel extends module
$skin_vars[$vars->name] = $vars;
}
Rhymix\Framework\Cache::set("module_mobile_skin_vars:$module_srl", $skin_vars, 0, 'site_and_module');
Rhymix\Framework\Cache::set("site_and_module:module_mobile_skin_vars:$module_srl", $skin_vars);
}
return $skin_vars;
@ -1828,7 +1828,7 @@ class moduleModel extends module
{
if(!$module_info->module_srl) return;
$skin_vars = Rhymix\Framework\Cache::get('module_mobile_skin_vars:' . $module_info->module_srl, 'site_and_module');
$skin_vars = Rhymix\Framework\Cache::get('site_and_module:module_mobile_skin_vars:' . $module_info->module_srl);
if($skin_vars === null)
{
$args = new stdClass;
@ -1837,7 +1837,7 @@ class moduleModel extends module
if(!$output->toBool()) return;
$skin_vars = $output->data;
Rhymix\Framework\Cache::set('module_mobile_skin_vars:' . $module_info->module_srl, $skin_vars, 0, 'site_and_module');
Rhymix\Framework\Cache::set('site_and_module:module_mobile_skin_vars:' . $module_info->module_srl, $skin_vars);
}
if(!$skin_vars) return;

View file

@ -282,7 +282,7 @@ class pageAdminController extends page
}
}
Rhymix\Framework\Cache::delete('mid_info:' . $module_info->module_srl, 'site_and_module');
Rhymix\Framework\Cache::delete('site_and_module:mid_info:' . $module_info->module_srl);
}
function procPageAdminArticleDocumentInsert()