首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Laravel 中有类似 Schema 的缓存吗?

Laravel 中有类似 Schema 的缓存吗?

提问于 2017-11-27 11:01:04
回答 2关注 0查看 444

在 Yii 2.0 性能优化的文档中看到 Schema 缓存的概念,内容如下:

开启 Schema 缓存

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

要开启 Schema 缓存,需要配置一个 cache 应用组件来储存 Schema 信息, 并在 配置 中设置 、

代码语言:txt
复制
yiidbConnection::$enableSchemaCache 为 true :
代码语言:txt
复制
return [
代码语言:txt
复制
    // ...
代码语言:txt
复制
    'components' => [
代码语言:txt
复制
        // ...
代码语言:txt
复制
        'cache' => [
代码语言:txt
复制
            'class' => 'yii\caching\FileCache',
代码语言:txt
复制
        ],
代码语言:txt
复制
        'db' => [
代码语言:txt
复制
            'class' => 'yii\db\Connection',
代码语言:txt
复制
            'dsn' => 'mysql:host=localhost;dbname=mydatabase',
代码语言:txt
复制
            'username' => 'root',
代码语言:txt
复制
            'password' => '',
代码语言:txt
复制
            'enableSchemaCache' => true,
代码语言:txt
复制
代码语言:txt
复制
            // Duration of schema cache.
代码语言:txt
复制
            'schemaCacheDuration' => 3600,
代码语言:txt
复制
代码语言:txt
复制
            // Name of the cache component used to store schema information
代码语言:txt
复制
            'schemaCache' => 'cache',
代码语言:txt
复制
        ],
代码语言:txt
复制
    ],
代码语言:txt
复制
];

我在公司用 Yii 2.0 开发的一个内部项目中尝试了一下,真的明显提升了速度,我想知道 Laravel 有没有提供这个 shema 缓存。

相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档