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!
-
Event
WordCamp Netherlands 2024
November 29 - 30, 2024 Team Yoast is at Sponsoring WordCamp Netherlands 2024! Click through to see who will be there, what we will do, and more! See where you can find us next » -
SEO webinar
The SEO update by Yoast - October & November 2024 Edition
26 November 2024 Get expert analysis on the latest SEO news developments with Carolyn Shelby and Alex Moss. Join our upcoming update! ?️ All Yoast SEO webinars »
15 Responses to PHP-APC: Speed up your web applications!