【问题标题】:Question about APC and user data关于 APC 和用户数据的问题
【发布时间】:2011-03-28 13:59:31
【问题描述】:

我从不费心为我的项目考虑缓存,因为它们通常很小,最多有 100 个用户,而且数据总是在变化。

然后,我考虑尝试 Symfony,它警告我 APC 已被 check_configuration.php 脚本禁用。

我去检查什么是 APC,发现它的主要用途是操作码缓存,这很好,但是它也有用户数据缓存,我不确定当有任何变化时我想要什么数据库是要被看到的,它们每隔几分钟就会发生一次。

谁能解释我如何禁用这个用户数据缓存,或者当数据一直在变化时,APC 是不是不能使用?

【问题讨论】:

    标签: php apc


    【解决方案1】:

    APC 不会缓存任何用户数据,除非您强制它这样做。如果 APC 缓存并提供过时的用户数据,那是因为您的应用程序已设计为这样做。在操作码缓存之外,它只是一个键值存储,有点类似于内存缓存——它只缓存你显式放入的内容。

    如果 symfony 有页面缓存行为,你需要在 symfony 中禁用它,而不是 APC。

    【讨论】:

      【解决方案2】:

      我不使用APC,而是使用EAccelerator,但概念是一样的。

      操作码缓存通常很好。

      如果您的应用程序不是 RESTful,那么内容缓存会很棘手。您需要在命名空间和输出之间保持一致的关系才能使缓存有意义。

      例如,如果您在 url http://example.com/rss.php 有一个 RSS 提要,并且内容定期更改而 URL 没有更改,则缓存比使用 http://example.com/rss.php?time=XXXXXXXXXXUTC 时复杂得多

      如果您只想防止对使用大量资源且很少更改的 URL 的 DOS 攻击,您可以为内容缓存设置超时,并接受它或多或少是最新的。

      【讨论】:

      • 我目前正在与要求 APC 的 Symphony 1.4 作斗争,但我想知道如何禁用内容缓存,如果我曾经使用过 eAccelerator。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-17
      • 1970-01-01
      • 1970-01-01
      • 2011-05-05
      相关资源
      最近更新 更多