# ConfigReader vs CachedConfigReader

**URL:** https://forum.shopware.com/t/configreader-vs-cachedconfigreader/58775
**Category:** Programmierung
**Created:** [26. März 2019 um 18:27 UTC](https://forum.shopware.com/t/configreader-vs-cachedconfigreader/58775 "2019-03-26T18:27:28Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![mdsw](https://avatars.discourse-cdn.com/v4/letter/m/94ad74/32.png) [@mdsw](https://forum.shopware.com/u/mdsw)
#### Post date: [26. März 2019 um 18:27 UTC](https://forum.shopware.com/t/configreader-vs-cachedconfigreader/58775/1 "2019-03-26T18:27:28Z")

</div>

Hallo,&nbsp;

kann mir jemand den Unterschied zwischen dem ConfigReader und dem CachedConfigReader nennen?

Anschlussfrage:&nbsp;  
Warum sehe ich häufig bei anderen Plugins, dass im Subscriber im \_construct der ConfigReader (nicht CachedConfigReader !)&nbsp;verwendet wird, in der service.xml aber dann aber dennoch als Service der cached\_config\_reader.

&nbsp;

Beispiel Ausschnitt Subscriber:

```
public function __construct($pluginPath, $pluginName, ConfigReader $configReader)
	{
		$this->pluginPath = $pluginPath;
		$this->pluginName = $pluginName;
		$this->configReader = $configReader;

	}

```

Beispiel Ausschnitt Service.xml

&nbsp;

---

<div class="post-metadata">

### Author: ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)
#### Post date: [6. April 2019 um 20:45 UTC](https://forum.shopware.com/t/configreader-vs-cachedconfigreader/58775/2 "2019-04-06T20:45:32Z")

</div>

ConfigReader ist ein interface. Deswegen steht es im typehint.

Es gibs zwei Implementierung DBAL und Cached. DBAL liest immer live von der DB und der andere wie es der Name auch sagt cacht es.

---

<div class="post-metadata">

### Author: ![mdsw](https://avatars.discourse-cdn.com/v4/letter/m/94ad74/32.png) [@mdsw](https://forum.shopware.com/u/mdsw)
#### Post date: [19. April 2019 um 11:53 UTC](https://forum.shopware.com/t/configreader-vs-cachedconfigreader/58775/3 "2019-04-19T11:53:36Z")

</div>

@Shyim‍

Das hatte ich mir soweit gedacht. Sehe aber leider den Sinn dahinter nicht, gecachte Config auszulesen?! Kannst Du mir das kurz erklären?

---

<div class="post-metadata">

### Author: ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)
#### Post date: [20. April 2019 um 08:20 UTC](https://forum.shopware.com/t/configreader-vs-cachedconfigreader/58775/4 "2019-04-20T08:20:46Z")

</div>

Du willst ja nicht bei jedem Webrequest die Daten aus der Datenbank laden. Die ändern sich ja erstmal nicht live. Da macht es schon sinn den gecachten zu nehmen, um sich eine Datenbank Abfrage zu sparen.&nbsp;

---

<div class="post-metadata">

### Author: ![mdsw](https://avatars.discourse-cdn.com/v4/letter/m/94ad74/32.png) [@mdsw](https://forum.shopware.com/u/mdsw)
#### Post date: [21. April 2019 um 16:30 UTC](https://forum.shopware.com/t/configreader-vs-cachedconfigreader/58775/5 "2019-04-21T16:30:57Z")

</div>

Okay, also beispielsweise für die an die View übergebenen Einstellungen eines Plugins… Damit diese auch im Cache liegen, richtig?

---

<div class="post-metadata">

### Author: ![neonlines](https://avatars.discourse-cdn.com/v4/letter/n/c57346/32.png) [@neonlines](https://forum.shopware.com/u/neonlines)
#### Post date: [23. April 2019 um 13:40 UTC](https://forum.shopware.com/t/configreader-vs-cachedconfigreader/58775/6 "2019-04-23T13:40:26Z")

</div>

Genau, eigentlich immer die CachedConfigReader-Variante nutzen, um Datenbank-Abfragen zu sparen, wie Shyim geschrieben hat.

---

<div class="post-metadata">

### Author: ![mdsw](https://avatars.discourse-cdn.com/v4/letter/m/94ad74/32.png) [@mdsw](https://forum.shopware.com/u/mdsw)
#### Post date: [23. April 2019 um 15:24 UTC](https://forum.shopware.com/t/configreader-vs-cachedconfigreader/58775/7 "2019-04-23T15:24:52Z")

</div>

perfekt danke!
