PHP-APC: Speed up your web applications!
As regular readers of this blog might know I have written quite some tools using the different API’s of search engines, and always found them quite useful. When I was implementing my sitewide search function, one of the things that bothered me that it was a bit slow. I knew that I had seen some caching implementations on the Yahoo PHP developer center, but I hadn’t bothered up till then to look at them a bit better.
Now I did, and I found the cacheAPC example to be very, very easy. It relies on the Alternative PHP Cache, an opcode cache PECL extension for PHP. I wrote two functions, which I then put in to all my pieces of code which I’ve published that use a lot of calls to the different API’s. The first is curlopen, the function I use to open connections:
[code]function curlopen($request) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $request);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 100);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$results = curl_exec ($ch);
curl_close($ch);
return $results;
}[/code]
The second one is the actual cache function, look at how easy it is:
[code]function request_cache($url, $ttl) {
if(!$doc = apc_fetch($url)) {
$doc = curlopen($url);
if ($doc === false) return false;
apc_store($url,$doc, $ttl);
}
return $doc;
}[/code]
It basically does three things:
- It looks if the requested resource is already in the cache, and if it is, it fetches that;
- If it’s not, it opens it through
curlopenand stores it in the cache; - It returns the requested data;
As you can see the request_cache function takes two parameters: the request url and the TTL, which, in seconds, determines how long that resource should be cached. Now if you request a PageRank for a URL, it’s fairly safe to set this to 24 hours, and you can see how much requests this saves!
The SEO Update by Yoast - March 2026 Edition
Expert analysis of the latest SEO & AI news developments with Carolyn Shelby and Alex Moss. Join our upcoming update! 📺
All Yoast SEO WebinarsBaltic-Nordic SEO Summit
Team Yoast is Attending, Sponsoring, Yoast Booth at Baltic-Nordic SEO Summit! Click through to see who will be there, what we will do, and more!
See where you can find us nextSorry! We don’t have a podcast planned at the moment.
Keep an eye on our site and social media to stay up-to-date.
All Yoast SEO Podcasts
Discussion (15)