Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/09/2011, 09:34
Avatar de jcarrascal
jcarrascal
 
Fecha de Ingreso: enero-2008
Mensajes: 87
Antigüedad: 16 años, 3 meses
Puntos: 6
Respuesta: Problemas con Memcached

Lo que pasa es que no puedes guardar un result de MySQL en Memcache porque para cuando vuelvas a ejecutar la consulta el recurso ya va a estar cerrado.

Lo que puedes hacer es recorrer el recurso almacenando el resultado en un array y guardar ese resultado en Memcache. Algo así:

Código PHP:
Ver original
  1. $return = $cache->get($key);
  2. if (false !== $return) {
  3.     echo 'Devuelve cache<br />';
  4.     return $return;
  5. } else {
  6.     $result = mysql_query($query) or die(mysql_error()." : $sql");
  7.     $return = array();
  8.     while (false !== ($row = mysql_fetch_object($result))) {
  9.         $return[] = $row;
  10.     }
  11.     $cache->set($key, $return, MEMCACHE_COMPRESSED, $time);
  12.     echo 'Graba cache<br />';
  13.     return $return;
  14. }