Yii2开启Schema 缓存

Yii2实战教程 2017年7月6日 7.33K

Schema缓存是一个比较特殊的缓存,只有当我们使用活动记录是这个缓存才会生效。

什么是活动记录

活动记录能智能检测数据库对象的集合(例如列名、列类型、约束)而不需要手动地描述它们。活动记录是通过执行额外的SQL查询来获得该信息。 通过启用 Schema 缓存,检索到的数据库对象的集合将被保存在缓存中并在将来的请求中重用。

Schema缓存开启的方法:

要开启Schema缓存,需要配置一个cache应用组件来储存Schema信息,并在配置中设置 yii\db\Connection::enableSchemaCache 为true:

  1. return [
  2. // ...
  3. 'components' => [
  4. // ...
  5. 'cache' => [
  6. 'class' => 'yii\caching\MemCache', //配置缓存组件,这里用了memcache
  7. ],
  8. 'db' => [
  9. 'class' => 'yii\db\Connection',
  10. 'dsn' => 'mysql:host=localhost;dbname=mydatabase',
  11. 'username' => 'root',
  12. 'password' => '',
  13. 'enableSchemaCache' => true, //开启schema缓存
  14.  
  15. // Duration of schema cache.
  16. 'schemaCacheDuration' => 3600, //有效时间
  17.  
  18. // Name of the cache component used to store schema information
  19. 'schemaCache' => 'cache',
  20. ],
  21. ],
  22. ];
  23.  

需要注意的是

1、若是修改了数据表的结构,或者添加,删除了字段,都需要将enableSchemaCache设置为false之后才能生效。

2、查询语句时若是使用了asArray(),schema缓存是无效的。


关注微信公众号『PHP学习网

第一时间了解最新网络动态
关注博主不迷路~

PHP学习网:站内收集的部分资源来源于网络,若侵犯了您的合法权益,请联系我们删除!
分享到:
赞(1)

文章评论

您需要之后才可以评论
1点赞 0评论 收藏 QQ分享 微博分享

PHP学习网

PHP学习网