symfony之检查 prod env 中的学说设置

jyk 阅读:69 2024-12-31 21:38:35 评论:0

当我执行命令时 php bin/console doctrine:ensure-production-settings
我有这个结果

query Cache uses a non-persistent cache driver, Doctrine\Common\Cache\ArrayCache. 

有人可以解释这个结果是什么以及我必须做什么吗?

请您参考如下方法:

这只是意味着您没有为 Doctrine 查询设置持久缓存。 Doctrine 使用缓存将 DQL 查询转换为 SQL,因此在生产环境中缓存它是有意义的,而不必每次都做同样的工作。

看这里:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/caching.html#query-cache

抛出异常的函数在这里:https://github.com/doctrine/doctrine2/blob/2.5/lib/Doctrine/ORM/Configuration.php#L374

代码如下所示:

if ($queryCacheImpl instanceof ArrayCache) { 
    throw ORMException::queryCacheUsesNonPersistentCache($queryCacheImpl); 
} 

您应该做的是在您的生产环境中实现缓存机制,无论是 APC、Memcache、Redis 等。


标签:程序员
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号