Имам сайт, който е за видео игра, която играя, и работя върху подобряването на производителността на сайта чрез прилагане на допълнително кеширане. Вече успях да внедря кеширане на резултати от заявки в персонализирани функции на хранилище, но не можах да намеря никъде, което обяснява как мога да включа кеширане на резултати от заявки във вградените функции (findOneById и т.н.). Интересувам се да направя това, защото много от моите заявки към базата данни се изпълняват от тези „родни“ функции на хранилището.
Така че като пример имам обект на характерен обект със следните свойства: id, име, раса, клас и т.н.
Раса и клас в този обект са препратки към други обекти на обекти за раса и класа. Когато зареждам символ за показване, получавам героя по име (findOneByName) и след това в моя шаблон показвам расата/класата на героя по $characterObject->getRace()->getName()
. Тези извиквания на метод в шаблона водят до изпълнение на заявка на моите таблици на обекти Race/Class, извличащи обекта по id (findOneById предполагам).
Опитах се да създам своя собствена функция findOneById в хранилището, но тя не се извиква при тези обстоятелства.
Как мога да настроя doctrine/symfony така, че тези резултати от заявката да могат да се кешират?
Работя със Symfony 2.1.3 и doctrine 2.3.x