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
curlopen
and 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!
Coming up next!
-
Re:commerce 2025
May 16, 2025 Team Yoast is at Attending Re:commerce 2025! Click through to see who will be there, what we will do, and more! See where you can find us next » -
The SEO Update by Yoast - April 2025 Edition
29 April 2025 Expert analysis of the latest SEO & AI news developments with Carolyn Shelby and Alex Moss. Join our upcoming update! 📺️ All Yoast SEO webinars »
Discussion (15)