Caching Doctrine results Symfony2

前端 未结 2 997
忘了有多久
忘了有多久 2020-12-16 20:21

I am working on a Symfony2 project. My project uses database to store the data and Doctrine2 to retrieve that data.

As the data within the database has grown the qu

相关标签:
2条回答
  • 2020-12-16 20:44

    You need to have your cache driver installed and configured in doctrine configuration (result_cache_driver is important in your case). Once you have this done you can make Doctrine to use result cache by setting useResultCache(true)

    $cachedResult = $doctrine->getManager()
        ->createQueryBuilder()
        ->(...)
        ->useResultCache(true)
        ->(...)
    

    Check this blog post

    NOTE: by default, in dev environment, result cache won't be used

    EDIT: as you're using DBAL and not using ORM - SymfonyDoctrineBundle doesn't support this kind of cache out of the box, but you can add this support by yourself by following this detailed guide

    0 讨论(0)
  • 2020-12-16 20:48

    In developer mode Symfony2 creates a new cache on every query. So suppose you have many queries then it will cache all queries one by one.

    This takes more time than in production mode, because in production mode the cache will only be stored once.

    0 讨论(0)
提交回复
热议问题