Welche Möglichkeiten zu Cachen gibt es?

Es stehen unterschiedliche Cache-Mechanismen auf unterschiedlichen architektonischen Ebenen zur Verfügung: 

FAQ zum Caching

Welche Bespiele für die Verwendung des Laufzeitcaches gibt es?

Der Laufzeitcache ist immer dann sinnvoll, wenn komplexe Methoden vielfach aufgerufen werden. Das kommt bspw. im Rollen-Konzept vor.  Siehe bspw. \Brandbox\Framework\Security\Role\AuthorisationManager::isAuthorizedDataset. Anwender die mit einer Rolle in der Anwendung unterwegs sind, müssen sehr häufig innerhalb eines Requests nach den Rechten eines Datensatzes fragen.

Wie kann ich den PSR-6 Cache debuggen?

Nutzen Sie dafür bspw. das Plugin Redis Helper

Wie kann ich feststellen, welcher PSR-6 Cache Adapter gerade aktiv ist?

Öffnen Sie dazu Cache-Control im Adminbereich und prüfen Sie ob der jeweilige Adapter informationen liefert. Falls nicht, ist er nicht aktiv.

Welche Besonderheiten gibt es im Umgang mit dem Second-Level-Cache von Doctrine?

  • Um die Performance von Logging-Tabellen zu schonen, ist es sinnvoll usage="READ_ONLY" zu verwenden. Damit ist es dann allerdings nicht mehr möglich den Datensatz zu überschreiben.

  • Arbeitet man direkt mit dem Querybuild, muss man aktiv dafür sorgen, dass das Cache wieder geleert wird. Siehe o.g. Dokumentation (Stichwort: Evict)