I believe a much better solution would be to use MySQL Query Cache. http://dev.mysql.com/doc/refman/5.0/en/query-cache.html Use it wisely and there is a lot of performance gain. Donot simply enable cache for all sql statements. Amit. On 3/13/07, Micah Stevens <micah@xxxxxxxxxxxxxxxxxx> wrote:
This may work, although I just made it up. I can see already that you'd have some problems with multiple scripts running at once. If a script opens the cache, then a second script saves new cache information before the first script saves it's data, the first script would overwrite the second script's update. Maybe instead of a read at the beginning of script execution, a read at the beginning of each query would be better? Save cache results to a file: <? // script start $querycache = unserialize(file_get_contents("query.cache")); /* $querycache format: array('sql' => array(), 'result'=>array(), 'time'=>array()); For each sql statement 'sql' you have a result array. */ // run all your queries through a function: function query($sql) { $cached = array_search($sql, $querycache['sql']) // check to see if the result is old if (time() - $querycache['time'][$cached] > $max_time) { unset($querycache['time'][$cached]); unset($querycache['sql'][$cached]); unset($querycache['result'][$cached]); $cached = false; } if ($cached) { return $querycache['result'][$cached]; } else { $result = mysql_query($sql); $querycache['sql'][] = $sql; $index = array_search($querycache['sql']); $querycache['time'][$index] = time(); while ($r = assoc($result)) { $querycache['result'][$index][] = $r; } // save cache for other scripts file_put_contents('query.cache', serialize($querycache)); return $querycache['result'][$index]; } } ... It's actually kind of a complicated process now that I'm thinking about it. -Micah On 03/13/2007 06:20 AM, Vincent wrote: > Hi all, > > I'm trying to improve the performance for visitors, and I want to know > if there is some way to store the mySQL results of .php scripts in > webpages. > > So, in example, when requesting > http://www.mydomain.com/script.php?id=110 , it can be redirected to > his cached version http://www.mydomain.com/id110.html. > > > Any code or information would be appreciated, > > > Regards, > > -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php