前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Yii2开启Schema 缓存

Yii2开启Schema 缓存

作者头像
PHP学习网
发布2022-08-03 14:41:45
4330
发布2022-08-03 14:41:45
举报
文章被收录于专栏:PHP学习网PHP学习网

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

什么是活动记录

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

Schema缓存开启的方法:

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

代码语言:javascript
复制
return [
    // ...
    'components' => [
        // ...
        'cache' => [
            'class' => 'yii\caching\MemCache', //配置缓存组件,这里用了memcache
        ],
        'db' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'mysql:host=localhost;dbname=mydatabase',
            'username' => 'root',
            'password' => '',
            'enableSchemaCache' => true, //开启schema缓存
 
            // Duration of schema cache.
            'schemaCacheDuration' => 3600, //有效时间
 
            // Name of the cache component used to store schema information
            'schemaCache' => 'cache',
        ],
    ],
];
 

需要注意的是

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PHP学习网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是活动记录
  • Schema缓存开启的方法:
  • 需要注意的是
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档