最新公告:最新上线Yii2实战教程,欢迎大家订阅

Yii2开启Schema 缓存

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

什么是活动记录

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

Schema缓存开启的方法:

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

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缓存是无效的。

作者:PHP学习网,本文 Yii2开启Schema 缓存 版权归作者,免费文章欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

发表评论:

您必须 才能发表留言!

Yii2实战教程

一套真正的从入门到实践的教程,不说废话的讲解,实例操作,作者的亲自指导,有问题随时提问。现在购买即可获取全套完整教程

PHP学习网 – 公众账号

最新文章
阿里云 lnmp一键安装包远程访问Mysql 187
php memcached扩展安装 174
vagrant package 打包命令的用法 154
Warning: require_once(): open_basedir restriction in effect 错误 237
yaf框架教程(6)- yaf路由配置 480
vagrant问题汇总 480
ubuntu系统两个PHP版本坑坏人 455
yaf框架教程(5)- yaf框架的启动文件 392
yaf框架教程(4)- yaf框架的入口文件 373
ElasticSearch5.5.1 单台服务器部署多个节点 467
随机文章
Warning: require_once(): open_basedir restriction in effect 错误 237
IE8不支持数组的indexOf方法 如何解决 669
关于PHP递归中的return 831
ln 命令 1161
开启pathinfo模式-阿里云服务器 1009
PHP常用字符串函数总结 964
WordPress中一些常见的判断函数 1047
解决阿里云ECS wordpress撞库登录的问题 672
应用信息的填写 352
css设置table的细边框的方法 1201
切换注册

登录

切换登录

注册