我记得读过类似于Symfony的Doctrine,但我在Zend 2文档中找不到任何相关内容。
以下是解释的问题:
假设在单个控制器操作中,我调用两个模型函数(都在同一模型中):两个函数都运行完全相同的TableGateway
查询集。这些查询只有SELECT
个数据。此外,此操作中的任何位置都没有INSERT/UPDATE
个操作。
在这种情况下,Zend会运行两次查询集吗?或者,看到它们是重复的并且中间没有进行INSERT/UPDATE
操作,它只运行一次查询集,第二次从某个内部缓存返回它。
PS。为了以防万一,请理解我不需要一般的最佳实践建议,只需要知道Zend核心深度的人的具体答案。
答案 0 :(得分:0)
没有。无论如何,这样做会很糟糕,因为您的应用程序不知道另一个应用程序是否已写入数据库并使您的缓存查询无效。
如果您在我的sql中启用了查询缓存,则可以缓存查询,因为rdbms知道该数据是否可以缓存或者是否已更改。