Redis缓存Key管理
通过自定义配置文件来管理redis的key
自定义配置文件
我们在项目根目录下的config
文件夹中,创建cache_key.config.php
文件, 用于保存缓存key配置
return array(
//用户
'userAvatar' => 'u:a',
'userNameCache' => 'u:nc',
'userSendPhoneCode' => 'u:spc',
'userSendEmailCode' => 'u:sec',
);
数组的键命名尽量清晰,能望文知意, 以便于我们编码. 数组的值尽可能的短, 节省内存.
扩展Module
在module的基类中, 新增一个获取缓存key的方法
namespace modules\web;
use Cross\Core\CrossArray;
use Cross\Core\Loader;
use Cross\Exception\CoreException;
use Cross\MVC\Module;
class WebModule extends Module
{
/**
* 获取缓存key配置
*
* @param string $config_name
* @param string $key
* @return array|string
* @throws CoreException
*/
protected function getCacheKey($config_name, $key = null)
{
//避免重复加载配置文件
static $config = null;
if (null === $config) {
$config = $this->loadConfig('cache_key.config.php');
}
$cache_key_prefix = $config->get($config_name);
if (!$cache_key_prefix) {
throw new CoreException("未定义的缓存key: {$config_name}");
}
if (!empty($key)) {
return sprintf('%s:%s', $cache_key_prefix, $key);
}
return $cache_key_prefix;
}
}
在Module中可以调用以下方法来获取指定的缓存key了
$this->getCacheKey("缓存key名称")
灵活使用配置文件, 能让代码更整洁