2017-04-24 13:18:53 2118次浏览 3条回答 0 悬赏 10 金钱

请问 model里面的 hasOne 该怎么缓存?

补充于 2017-04-24 13:54

你的意思死自动缓存,网页在刷新一次里面的自动缓存吧。
我的意思是只是访问第一次,以后网页不管怎样刷新都不在访问数据库。

最佳答案

  • dingjj2010 发布于 2017-04-27 08:43 举报

    可以用缓存,类似下面方法:

    public function getCustomer(){
        return Yii::$app->cache->get('customer')?:$this->hasOne(Customer::className(), ['id' => 'customer_id']);
    }
    

    记得取出来了要塞到缓存里,这样下次才有缓存

  • 回答于 2017-04-24 13:39 举报

    relation 不是直接系统默认缓存的吗? 我记得是只访问数据库一次,之后就缓存了的。

    1 条回复
    回复于 2017-04-24 13:54 回复

    你的意思 自动缓存,网页在刷新一次里面的自动缓存吧。
    我的意思是只是访问第一次,以后网页不管怎样刷新都不在访问数据库。

  • 回答于 2017-04-24 20:00 举报

    可以看看Yii2缓存文档,里面有专门针对SQL的缓存,用到你这个应该是可以的

您需要登录后才可以回答。登录 | 立即注册
liuruiaaa
见习主管

liuruiaaa

注册时间:2016-02-29
最后登录:2017-07-14
在线时长:10小时53分
  • 粉丝6
  • 金钱163
  • 威望10
  • 积分363

热门问题