我試圖使用memcache,但我被困在一小部分。我有一個函數在結果中給出了幾個東西的數組(其中大部分是字符串),其中一個是mysql_query()函數的結果。 這裏是我在嘗試反序列化:在mysql_fetch_array之前序列化?
$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_query這個結果mysql_fetch_array之前的任何想法?或者任何想法如何使用memcache來緩存整個while循環?
你不能序列化的資源。結束。 – DaveRandom
好的,但是有沒有辦法在while循環中使用memcache? –