【发布时间】:2018-09-10 15:12:58
【问题描述】:
在一些模型类中我想实现缓存。我想这样做:
UsersModel::model()->findByAttributes([...])
在那个类中,我想重写方法beforeFind() 以首先将请求发送到缓存服务器,但似乎该方法不带任何附加参数,也没有具有属性的对象。
在顶级代码中添加额外的条件/检查,例如:
$response = Yii::app()->cache->get('userUserLogin');
if(empty($response) == true) {
//fetch data from db and set to cache
$userModel = UsersModel::model->findByAttributes([...])
Yii::app()->cache->set('user' . $userModel->username, $userModel->getAttributes());
}
不好看也不琐碎,导致很多分支。
【问题讨论】:
标签: activerecord yii redis