Php 在mysql\u fetch\u数组之前序列化?

Php 在mysql\u fetch\u数组之前序列化?,php,mysql,serialization,memcached,Php,Mysql,Serialization,Memcached,我正在尝试使用memcache,但有一小部分我被卡住了。我有一个函数,它在result中提供了一个包含多个内容的数组(其中大部分是字符串),其中一个是mysql_query()函数的结果。 以下是我如何尝试取消序列化: $posts_count = my query; /* MEMCACHE KEY GEN*/ $memcache_key = md5($posts); $pagination = memcache_get($mem

我正在尝试使用memcache,但有一小部分我被卡住了。我有一个函数,它在result中提供了一个包含多个内容的数组(其中大部分是字符串),其中一个是mysql_query()函数的结果。 以下是我如何尝试取消序列化:

    $posts_count = my query;                

    /* MEMCACHE KEY GEN*/
    $memcache_key = md5($posts);
    $pagination = memcache_get($memcache, $memcache_key);
    if($pagination==NULL) {
        echo 'NOT CACHED';
        $pagination = (the function that will call mysql_query)
        //SAVE A SERIALIZED VERSION OF THE ARRAY
        $memcache->set($memcache_key, serialize($pagination), 0, 3600); 
    }
    else {
        $pagination = unserialize($pagination);
    }

    //THIS IS ONLY THE RESULT OF mysql_query!!!     

    $posts = $pagination[result]; 
    while($var = mysql_fetch_array($posts)) { ... stuffs here } 

你知道如何在mysql\u fetch\u数组之前“保存”mysql\u查询的结果吗?或者知道如何使用memcache来缓存整个while循环吗

像这样的东西怎么样:

$posts_count = "my query";                

/* MEMCACHE KEY GEN*/
$memcache_key = md5($posts);
$pagination = memcache_get($memcache, $memcache_key);
if ($pagination == NULL) {
  echo 'NOT CACHED';
  $pagination = function_that_will_call_mysql_query();
  // Create an array of all the results
  $data = array();
  while ($row = mysql_fetch_assoc($pagination['result'])) {
    $data[] = $row;
  }
  $pagination['result'] = $data;
  //SAVE A SERIALIZED VERSION OF THE ARRAY
  $memcache->set($memcache_key, serialize($pagination), 0, 3600); 
} else {
    $data = unserialize($pagination);
}

// THIS IS ONLY THE RESULT OF mysql_query!!! (but now it's an array)

$posts = $pagination['result']; 
while ($var = array_shift($posts)) {
  // ... do stuff here
} 

无法序列化资源。好的,但是有没有一种方法可以在while循环中使用memcache呢?我们打算提出一些类似的建议,但是OP非常混乱。希望它能坚持住,太完美了!我决不会想到数组的移位!非常感谢!:)嘿@DaveRandom请看看这个:如果你能帮忙。。。