【问题标题】:Implement Doctrine2 Caching with PHP Google App Engine?使用 PHP Google App Engine 实现 Doctrine2 缓存?
【发布时间】:2015-06-18 18:04:37
【问题描述】:

我知道 GAE 目前支持 symfony:https://cloud.google.com/appengine/docs/php/symfony-hello-world,但我使用的是没有 symfony 的 Doctrine2。我在 Doctrine 文档中阅读了不要在生产中使用 ArrayCache,还有其他人能够使用 Memcache 或 ApcCache 吗?

【问题讨论】:

    标签: php google-app-engine caching doctrine-orm memcached


    【解决方案1】:

    基于http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/configuration.html,如果您在调用Setup::createYAMLMetadataConfiguration 时将$isDevMode 设置为false,它应该会自动回退到GAE 上的memcache。

    【讨论】:

    • 对不起,应该提到我正在使用注释配置。
    • 没关系,这一切都导致这条线github.com/doctrine/doctrine2/blob/master/lib/Doctrine/ORM/… 导致学说选择内存缓存。
    • 好的,非常感谢。你在 GAE 上使用 Doctrine 和 Memcache 成功了吗?我很难让它只与 ArrayCache 一起工作,所以我无法测试它是否有效(但是当我修复它并确认它有效时,我会接受你的回答)。 stackoverflow.com/questions/30941836/…
    • 你让它工作了吗?我不确定如果不移植到 AppEngine PHP API,这将如何在 GAE 上工作。默认情况下,Doctrine 希望连接到127.0.0.1 上的 memcached 服务器,但这不是 AppEngine Memcache 的工作方式:您需要为此使用特定于语言的库。因此,Doctrine 需要一个补丁来正确支持 GAE 内存缓存。如果您在托管 VM 上运行,则可以连接到您自己运行的 memcached 服务器,但这不适用于 GAE,因为 (a) 您无法生成子进程,并且 (b) 没有任何东西在监听 @987654327 @.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-05
    • 2017-06-23
    • 1970-01-01
    • 1970-01-01
    • 2010-12-28
    相关资源
    最近更新 更多