la mise en cache

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

bonjour,
je voudrais savoir comment faire pour mettre les données en cache et les affichés.
j'aimerais que les données selectionnées depuis une requete select soit mise en cache et que je le recupère par la suite(les différents champs).pour ça j'ai ecri le code suivant:

<?php
$text
="select title, nid from {node} where type="page"";

$res=db_query($text);

if($cache){

cache_set('livraison','cache',$res,$expire=time()+('60*60'));

}

if($cache=cache_get('livraison','cache')){

return $cached->data['title'];
}
    
?>  

j'ai activé le cache normal depuis l'interface admin mais je n'ai rien comme resultat.et en plus comment serialiser les variables de types ressources?
merci d'avance.

Quelque chose comme ça :

<?php
$cache_id    
= 'livraison';
$cache_table  = 'cache';
$cache_expire = time() + 60 * 60;

if (
$cache = cache_get($cache_id, $cache_table)) {
  return
unserialize($cache->data);
}

$query  = "SELECT nid, title FROM {node} WHERE type = '%s'";
$result = db_query($query, 'page');
$datas  = array();

while (
$row = db_fetch_object($result)) {
 
$datas[$row->nid] = $row->title;
}

cache_set($cache_id, $cache_table, serialize($datas), $cache_expire);

return
$datas;
?>