使用Redis在Symfony 2应用程序中缓存doctrine结果

时间:2015-08-13 15:50:07

标签: symfony redis doctrine

我正在尝试使用Redis缓存查询结果和APC for metacache。根据Symfony文档,我需要做的就是。

<Control Type="CheckBox" Width="200" Height="25" X="25" Y="75" Id="LocalCheckBox" 
    Property="UseLocalSystem" CheckBoxValue="1" Text="Use LocalSystem Account"/>
<Control Type="Edit" Width="200" Height="15" X="25" Y="115" Id="AccountTextbox" 
    Property="SERVICELOGONUSER">
    <Condition Action="disable">UseLocalSystem = 1</Condition>
    <Condition Action="enable"><![CDATA[UseLocalSystem <>1]]></Condition
</Control>

这是为doctrine配置缓存属性的正确方法吗?此外,当我谷歌“使用redis与symfony”时,我得到的结果告诉我使用SNCRedis包。

是否有必要使用SNCRedis包在Symfony中使用Redis作为学说?它在Symfony默认值之上提供了什么好处。我在这里有点困惑,因为在Symfony中与Doctrine相关的缓存文档很少。 有人可以在这件事上给我任何见解。

1 个答案:

答案 0 :(得分:12)

您为结果缓存添加的配置仅配置要使用的策略。您仍然需要明确告诉doctrine缓存特定查询的结果:

$query->useResultCache(true);

在Doctrine的Cache docs中了解有关它的更多信息。

Symfony中的文档很少,因为这不是Symfony特有的东西。请改为阅读学说文档。仅使用Symfony文档来学习如何配置Doctrine。

您不需要任何Redis捆绑包,因为Redis缓存策略是通过带有doctrine/cache包的学说实现的。您不必担心如何使用它。只需按照文档中的说明配置缓存。