[TYPO3-german] Caching der eigenen Extension
Michael Kasten
home at m-kasten.de
Tue Sep 29 12:23:17 CEST 2015
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hallo Arne,
danke für den Hinweis, allerdings würde ich gern verstehen wo mein Fehler liegt, bevor ich nun
einen anderen Weg einschlage.
Wenn ich das richtig sehe, dann gibst du der Action ja ein Caching von einer Stunde mit, ich
glaube nicht das dieser Ansatz mein Problem löst, das FE Plugin soll ja weiterhin gecached werden
nur reagiert das somit nicht auf die Paginierung, klar geht das mit einem no_cache=1 am Link, aber
naja.
Ich möchte also die Links meiner Paginierung durch TYPO3 erstellen lassen um von den dann
generierten cHahes zu profitieren.
Nur das ich eben Probleme habe auf die passenden Methoden zugreifen zu können.
mit besten Grüßen
Am 29.09.2015 um 09:47 schrieb Arne-Kolja Bachstein:
> Hallo,
>
> ich bin an der Stelle einen anderen Weg gegangen und habe Extbase-Caching gemacht. Vielleicht
> wäre das auch eher eine Alternative für Dich. Vorteil ist, dass Du Dich nicht mit dem cHash
> herumschlagen musst, sondern das Caching anhand eines Identifiers machst, den Du selbst
> berechnen kannst. Damit habe ich komplexe Datenbank-Queries gecached.
>
> Ein Pseudo-Beispiel innerhalb der Action:
>
> — snip -- $cachingDuration = 3600; $cacheIdentifier = sha1(json_encode(array( "page" =>
> $page, "param2" => $param2, "param3" => $param3 )));
>
> if (($_items = $this->cache->get($cacheIdentifier)) === false) { $this->logger->warning("Cache
> not hit.");
>
> $response = $this->getAPIResult('myModel'); $json = json_decode($response->getBody(), true);
>
> $this->cache->set($cacheIdentifier, $json, array("indexAction"), $cachingDuration); } else {
> $this->logger->warning("Cache hit."); } — snap —
>
> Gruß
>
> Arne
>
>> Am 29.09.2015 um 08:56 schrieb Michael Kasten <home at m-kasten.de>:
>>
> Hallo Liste,
>
> ich habe eine Extension mit mehreren Plugins, deren Actions ich bisher als non_cachable
> gesetzt habe, nun ist das nicht gerade Ressourcenschonend wenn man dann einige dieser Plugins
> auf einer Seite einbindet. (TYPO3 6.2.15)
>
> Damit ich die betroffenen Actions cachen kann brauche ich nun aber auch die entsprechenden
> chash Werte in meiner Paginierung.
>
> Mein Problem: Ich finde ein Haufen Vorschläge die aber mittlerweile obsolete sind Nun habe ich
> also versucht die entsprechenden Funktionen aus der Klassenreferenz zu ermitteln,
>
> $siteUrl = \TYPO3\CMS\Core\Utility\GeneralUtility::getIndpEnv('TYPO3_SITE_URL') .
> 'index.php?';
>
> Klappt soweit
>
> $cacheHashArray = \TYPO3\CMS\Frontend\Page\CashHashCalculator::getRelevantParameters(
> \TYPO3\CMS\Core\Utility\GeneralUtility::implodeArrayForUrl('', $query));
>
> Spätestens hier ist Schluss, da die Methode getRelevantParameters nicht gefunden wird,
> allerdings ist mir nicht klar warum, da ich der Meinung bin mit dem richtigen Pfad auf die
> Klasse zu referenzieren.
>
> Jemand eine Idee wo mein Denkfehler liegt?
>
>
> mit besten Grüßen
>
>> _______________________________________________ TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>
> _______________________________________________ TYPO3-german mailing list
> TYPO3-german at lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>
- --
Michael Kasten | http://m-kasten.de
Im wirklichen Leben gibt es kein [Strg]+[Z]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQEcBAEBAgAGBQJWCmaVAAoJEF1/iIvWnG8N9OQIAJcypAsOiPUkQMxWTUt7c9AC
PwevoeFcdSwDlHADBKduM2SvZYKBh9PRQVhezymMrJSDiezkHtg2gylwSFzLUi2U
m2IM3UdKWrY9NUGc/K/zSobktjZ9VwYWrKJcNit9ZfV6VCxVCXqKttlU1ms0fjFf
gwRqNXpn0ZK3RnUi8EXW14Mld6DTsX387ikjj+7rLXiJ/Fg1SrTIDqi1xYeLx46e
aimN3HoD/Qy+inlmiDa+0E9bFI4DCtdQ8F9D2gRv3ca3VdCsUSKtETXu0FXlW5uj
oPGUdayzxkR4uPXA2LPbQ5yAL5UHP04HtrVLVQA92hY8uMkg4afgw9qepgjeon8=
=c4S2
-----END PGP SIGNATURE-----
More information about the TYPO3-german
mailing list