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:

  1. It looks if the requested resource is already in the cache, and if it is, it fetches that;
  2. If it’s not, it opens it through curlopen and stores it in the cache;
  3. 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!

Webinar

The SEO Update by Yoast - March 2026 Edition

24 March 2026

Expert analysis of the latest SEO & AI news developments with Carolyn Shelby and Alex Moss. Join our upcoming update! 📺

All Yoast SEO Webinars
Event

CloudFest Hackathon 2026

March 20 - 22, 2026

Team Yoast is Attending, Project, Sponsoring at CloudFest Hackathon 2026! Click through to see who will be there, what we will do, and more!

See where you can find us next
Podcast

Sorry! 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)