Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/09/2011, 09:16
chelsae
 
Fecha de Ingreso: noviembre-2005
Mensajes: 182
Antigüedad: 18 años, 6 meses
Puntos: 4
Problemas con Memcached

Hola,

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$returnMEMCACHE_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 />';
 } 
El siguiente código siempre entra en "Graba caché" y devuelve los resultados de la tabla desde la ejecución de la consulta a mysql.
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