# Datenbank Cache Problem -&gt; Shopware()-&gt;Db()

**URL:** <https://forum.shopware.com/t/datenbank-cache-problem-gt-shopware-gt-db/30128>\
**Category:** Administration\
**Created:** [31. August 2015 um 19:05 UTC](https://forum.shopware.com/t/datenbank-cache-problem-gt-shopware-gt-db/30128 "2015-08-31T19:05:22Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![coolrose222](https://avatars.discourse-cdn.com/v4/letter/c/9de053/32.png) [@coolrose222](https://forum.shopware.com/u/coolrose222)\
**Post date:** [31. August 2015 um 19:05 UTC](https://forum.shopware.com/t/datenbank-cache-problem-gt-shopware-gt-db/30128/1 "2015-08-31T19:05:22Z")

</div>

Hallo! Ich hab für meinen Shop ein Plugin entwickelt, welches im Frontend die Anzahl der Produkte im Merkzettel anzeigt. Das geht eigentliche ganz gut. Doch ich hab bemerkt, dass die Ergebnisse eines SQL-Statements gecached werden. Dies ist zwar schön und gut, jedoch ungünstig, wenn der Kunde einen neuen Artikel in den Merkzettel tut. Damit erhöht sich die Anzahl, doch dank des Caches, wird immer noch die alte Anzahl dargestellt. Ich folgendes eingebaut: ` private function subscribeEvents() { ... $this-\>subscribeEvent('Enlight\_Controller\_Action\_PostDispatch\_Frontend', 'onFrontendPostDispatch'); ... } public function onFrontendPostDispatch(Enlight\_Event\_EventArgs $args) { ... $countNotes = (int) Shopware()-\>Db()-\>fetchOne('SELECT COUNT(\*) FROM s\_order\_notes'); ... } ` Die Variable $countNotes gibt in diesem Fall immer ein falsches Ergebnis aus, sobald ein Besucher einen neuen Artikel in den Merkzettel tut. Wenn man den Cache im Backend leert, wird das Statement natürlich neu geladen und das Resultat ist mit der Datenbank identisch. Ich kenne die Cache-Mechanik nicht komplett. Somit hab ich versucht zu experimentieren, z.B. mit einer variierenden Abfrage: ` ... $time = time(); $countNotes = (int) Shopware()-\>Db()-\>fetchOne('SELECT COUNT(\*) FROM s\_order\_notes WHERE "'.$time.'" = "'.$time.'"'); ... ` Doch das hat auch nicht geholfen ☹ Hatte bereits jemand ein solches Problem? Was kann man in diesem Fall tun? Würde mich über eine Hilfestellung freuen! 🙂

---

<div class="post-metadata">

**Author:** ![EikeBrandtWarneke](https://avatars.discourse-cdn.com/v4/letter/e/cdc98d/32.png) [@EikeBrandtWarneke](https://forum.shopware.com/u/EikeBrandtWarneke)\
**Post date:** [31. August 2015 um 19:24 UTC](https://forum.shopware.com/t/datenbank-cache-problem-gt-shopware-gt-db/30128/2 "2015-08-31T19:24:07Z")

</div>

Es wird immer die komplette Seite in den cache gelegt - daher sollten benutzerspezifische Daten per esi tag (action widget) geladen werden. Als Beispiel: [https://github.com/shopware/shopware/bl … on.tpl#L35](https://github.com/shopware/shopware/blob/5.0/themes/Frontend/Bare/frontend/index/shop-navigation.tpl#L35) Viele Grüße

---

<div class="post-metadata">

**Author:** ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)\
**Post date:** [31. August 2015 um 19:27 UTC](https://forum.shopware.com/t/datenbank-cache-problem-gt-shopware-gt-db/30128/3 "2015-08-31T19:27:01Z")

</div>

Hi, du hast doch sicher den HTTP-Cache aktiviert, oder? Wir cachen keine DB-Ergebnisse. Wenn du sowas mit HTTP-Cache machen möchtest, brauchst du entweder ein Smarty {action} Tag oder musst die Infos eben via Ajax am Cache vorbei laden. Besten Gruß, Daniel // Eike war schneller :wtf:

---

<div class="post-metadata">

**Author:** ![coolrose222](https://avatars.discourse-cdn.com/v4/letter/c/9de053/32.png) [@coolrose222](https://forum.shopware.com/u/coolrose222)\
**Post date:** [31. August 2015 um 19:28 UTC](https://forum.shopware.com/t/datenbank-cache-problem-gt-shopware-gt-db/30128/4 "2015-08-31T19:28:42Z")

</div>

Das klingt gut! Werde ich gleich mal ausprobieren und eine Rückmeldung geben. Erstmal vielen herzlichen Dank für den Tipp!

---

<div class="post-metadata">

**Author:** ![coolrose222](https://avatars.discourse-cdn.com/v4/letter/c/9de053/32.png) [@coolrose222](https://forum.shopware.com/u/coolrose222)\
**Post date:** [31. August 2015 um 21:10 UTC](https://forum.shopware.com/t/datenbank-cache-problem-gt-shopware-gt-db/30128/5 "2015-08-31T21:10:15Z")

</div>

Hat wunderbar funktioniert. Vielen herzliche Dank!!! :thumbup:
