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 <h...@m-kasten.de>:
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> 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
> 
> - -- 
> Michael Kasten | http://m-kasten.de
> Im wirklichen Leben gibt es kein [Strg]+[Z]
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2.0.22 (GNU/Linux)
> 
> iQEcBAEBAgAGBQJWCjYyAAoJEF1/iIvWnG8NaToH/RdxGrwMpWxIDpzJoH45n2B6
> j9I25FeiP/eU3mjutgkZozNhxFS5NNxcXOIzR00Pb+xRMZt6ZJ4OtXLKintDI6/V
> uNolkXsPr/aWEFg3pfaW43q58c3nBB06nIgGKDvaf3XDPeudyOr2919qBkIXDo0B
> xYH0dReeOg/vlwfph7SL4yVJ3zGwS/+wXKJtdl/9SjWg5xCXjmksRdFsP9AMa8p8
> xOcWYJmDJZqISY5pp0JT1HM1cPJNEiZGBx4qU1rwlKMT3b01ULqPAJw6sCcTonh6
> 75wO5RhZXSpPb4P2o8BhWM+Zb8yySSoK79CSr+PbtagPXn48T3YDdMd2cTy+gDE=
> =7HuE
> -----END PGP SIGNATURE-----
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german@lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an