在Symfony 3中使用缓存组件的最佳做法是什么?
如果我从不同的地方(Controller,FormType,Twig函数,Listener,...)调用getCategoryById
(在Repository中),我该如何验证数据是否被缓存?
我无法在存储库中调用缓存组件,而且我不想在每个位置编写和复制相同的代码( isHint ... )。
那么最佳做法是什么?在所有组件和存储库之间创建中间缓存服务?
非常感谢:)
答案 0 :(得分:-1)
所以我不知道这是否能将你的问题回答为100%,但非常好的是SNCRedisBundle
你有一些缓存提供者用于缓存不同部分的学说。文档中的简短示例。
snc_redis:
...
doctrine:
metadata_cache:
client: cache
entity_manager: default # the name of your entity_manager connection
document_manager: default # the name of your document_manager connection
result_cache:
client: cache
entity_manager: [default, read] # you may specify multiple entity_managers
query_cache:
client: cache
entity_manager: default
second_level_cache:
client: cache
entity_manager: default
https://github.com/snc/SncRedisBundle/blob/master/Resources/doc/index.md
它运作良好,也许你可以使用它。