Nu știu cât de ok este scris codul, pentru mine merge, m-am luat după exemplele de pe site-ul lor https://www.phpfastcache.com/ dacă e ceva greșit în cod vă rog să îmi spuneți.
Iar eu vreau să pot face asta și pentru lista articolelor cu paginare și nu-mi dau seama cum.
As sparge codul acela in metode specifice care sa faca un singur lucru. Acel select * ... l-as inlocui cu lista de coloane care te intereseaza. As da denumiri mai sugestive. Cel putin atat imi vine pe partea de coding style. Si nici nu este ceva greu de implementat.
De exemplu listez ultimele 10 articole adăugate în baza de date, o accesare pe pagina respectivă și să se bage în cache iar după 10 minute să se facă alta interogare la bază, după ce expira cache, bine, asta face deja phpfastcache. Mie îmi trebuie să aflu cum pot sctoca cu acesta articole multiple în cache ca apoi să le listez pe toate în pagină.
Gabriela, unde te-ai blocat mai exact? Exemplul de pe site-ul PhpFastCache mi se pare elocvent: (1) verifici daca exista in cache o cheie cu numele dorit, de exemplu “latestArticles”; (2) daca nu exista o setezi pentru un interval de X minute, payload-ul fiind un array tu toate articolele; (3) daca exista preiei array-ul de articole din cheia respectiva.
Nu știu cum să fac acel array iar după ce le stochează un interval de timp cum să le preiau din cache să apară ca și cum aș face interogarea normală de la bază
<?php
require 'inc/phpfastcache/vendor/autoload.php';
use phpFastCache\CacheManager;
CacheManager::setDefaultConfig(["path" => $_SERVER["DOCUMENT_ROOT"].'/tmp']);
$icache = CacheManager::getInstance('files');
$key = 'articles_page';
$scache = $icache->getItem($key);
if (is_null($scache->get())) {
## extragere detalii fisier din mysql
$sql = $db->query("select * from lista order by pub desc limit 0,25");
$result = $sql->fetchAll();
$scache->set($result)->expiresAfter($tf_cache);
$icache->save($scache);
} else {
## extragere detalii fisier din ftp > cache
$unsr = $scache->get();
## vezi ce iti da si iei cu foreach
var_dump($unsr);
}
?>
Merge <3
Și dacă îi fac și paginarea, de exemplu, prima pagină afișează cele 25 de articole dar dacă adaug un articol nou, să se actualizeze cache chiar dacă nu a trecut acel timp setat de stocare, cum zici ?