Es stehen unterschiedliche Cache-Mechanismen auf unterschiedlichen architektonischen Ebenen zur Verfügung:
PSR-6 Caching und Laufzeitcache
FAQ zum Caching
Welche Bespiele für die Verwendung des Laufzeitcaches gibt es?
...
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)