【发布时间】:2018-03-12 03:22:19
【问题描述】:
我在 Symfony 2.8 + MySQL 中构建了一个功能齐全的 ERP 平台。现在我专注于提高平台的性能,并且正在评估 Varnish 和 FOSHttpcachebundle 的采用情况。但我有一些疑问:
主要是:作为一个 ERP,一个页面与另一个页面相关。简单示例:我转到“付款方式”页面并添加新的付款方式。然后我访问单一客户页面,在这里我看到了可用的付款方式。完美的。假设这个页面被缓存了。 然后我回到“付款方式”页面并添加新的付款。 然后我回到 Single Customer 页面......如果它已经被缓存,我将看不到新添加的 Payment Method!
我知道我可以使特定页面的缓存无效,但在这里我必须使所有引用“付款方式”的页面无效......如果我们认为这样的关系是 ERP 的基础,基本上每个页面缓存将在 2-3 次操作内被清除....使缓存实现无用。
我对缓存系统没有经验,所以我的问题可能已经由该领域的专家解决了。在方法方面想请教您的建议。
谢谢
【问题讨论】:
-
你使用 Doctrine 作为 ORM 吗?
-
不,我正在使用 ->conn->execute($query) 我不喜欢使用理论实体!
-
那么你缓存的目的是什么?缓存对于获得相当稳定且昂贵的结果是有意义的。正如您所描述的那样,您似乎没有其中之一。这就是为什么我选择 Daniel V 的回答。
标签: php symfony varnish varnish-vcl symfony-2.8