我正在尝试为我的项目构建“智能”缓存机制。项目简介:它是社交网络,主要是阅读密集型,此外还有与 nodejs 的 websocket 连接,用于一些实时的事情 - 例如聊天。
这是构建这样的缓存机制的好方法吗?使用这种方法有什么好处和坏处?
function loadUser($id) {
$user_key = 'user_'.$id;
if( $user = Zend_Registry::get($user_key)) ) {
return $user;
}
elseif( $user = loadFromRedis($user_key) ) {
Zend_Registry::set($user_key, $user);
}
else {
$user = loadFromMysql($user_key)
setToRedis($user_key, $user);
setKeyExpire(30);
Zend_Registry::set($user_key, $user);
}
return $user;
}