PHP多级缓存的使用
背景
本实例基于Yii2框架
redis
安装redis扩展
composer require yiisoft/yii2-redis
yac
安装yac扩展
composer require diszz/yii2-phpyac
应用
public static function getObjectById($userId, $reset = false) {
    return Yii::$app->yac->getOrSet('user:object:'.$userId, function() use ($userId, $reset){
        return Yii::$app->redis->getOrSet('user:object:'.$userId, function() use ($userId){
            $userObject = User::findIdentity($userId);
            
            $_logs = ['$userId' => $userId];
            Yii::error(__CLASS__.' '.__FUNCTION__.' '.__LINE__.' succ '.json_encode($_logs));
            return $userObject;
        }, 1800, $reset);
    }, 60, $reset);
}