Acabo de instalar memcached y tratando de grabar el resultado de una consulta a mysql no hay manera, os pego el código a ver si me podéis echar una mano.
Código PHP:
function mysql_query_cache($query, $time){
include_once 'conecta.php';
$key = md5($query);//Genera el nombre de la variable a guardar en la cache
echo 'Nombre cache: '.$key.'<br />';
if(class_exists('Memcache')){
$cache = new Memcache;
$cache->connect("localhost",11211) or die ("No se ha podido conectar");
$return = $cache->get($key);
if(!empty($return)){
echo 'Devuelve cache<br />';
echo $return;
return $return;
}else{
$result = mysql_query($query) or die(mysql_error()." : $sql");
$return = $result;
$cache->set($key, $return, MEMCACHE_COMPRESSED, $time);
echo ' Graba cache<br />';
return $return;
}
}else{
echo 'Memcache no está disponible<br />';
return mysql_query($query);
}
}
//Se ejecuta la función
$resultado_query = mysql_query_cache('SELECT titulo FROM tabla', 10);//Ejecuta función que carga y graba la caché
while ($row_resultado = mysql_fetch_array ($resultado_query)){
echo $row_resultado['titulo'].'<br />';
}
En el mismo código si en lugar de grabar el resultado de la query grabo "hola" en la cache, lo graba perfectamente, la verdad es que no se si está mal o si no se puede hacer lo que intento.
Muchas gracias