Inclusão de Memcache em PHP
Olá, geralmente eu "google" até achar uma solução para meu problema mas dessa vez está difícil. Estou tentando passar meu site para o memcache, para melhorar as coisas, sendo assim, segui alguns tutoriais mas estou travado em algo.
Vejam:
include ('./includes/Config.php');
$m = new Memcache();
$m->addServer('localhost', 11211);
$CONECTA = mysql_connect( $HOST , $USUARIO , $SENHA ) OR die ("<h1>#ERRO #01!</h1>");
mysql_select_db( $DATABZ , $CONECTA ) OR die ("<h1>#ERRO #02!</h1>");
$QUERYSQL = "SELECT * FROM `lateral` ORDER BY id LIMIT 0 , 3";
$CHAVE = md5($QUERYSQL);;
// Buscamos o resultado na memória
$CACHE = $m->get($CHAVE);
// Verifica se o resultado não existe ou expirou
if ($CACHE === false) {
// Executa a consulta novamente
$QUERY = mysql_query($QUERYSQL);
$TEMPO = 60 * 60; // 3600s
$m->set($CHAVE, $QUERY, MEMCACHE_COMPRESSED, $TEMPO);
} else {
// A consulta está salva na memória ainda, então pegamos o resultado:
$QUERY = $CACHE;
}
// Mostrando os resultados...
if (@mysql_num_rows($QUERY) > 0) { $i = 0;
while ($DADOS = @mysql_fetch_object($QUERY)) {
echo '<br>'.$DADOS->link.'';
}
}
Certo. O que ocorre... Ja notei que a maioria dos códigos de memcache antes de salvar no próprio memcache, dão um "mysql_fetch_assoc", se eu fazer isso além de nunca trabalhar com tal função, terei de reprogramar meu site todo. Esta é somente uma parte dele. Outros tutoriais já mostram como salvar a Query deste jeito no memcache, mas sempre que eu puxo, ele retorna 0.
Está tudo funcionando, se dou um print_r($QUERY); antes de salvar, ele retorna Resource id #9. Agora, se eu dou o mesmo print_r($QUERY); depois, ele retorna 0.
O que esotu fazendo de errado? Como devo tornar este código funcional?
Obrigado desde já!
Discussão (0)
Carregando comentários...