AutoCache (Miscellaneous)

Introduction

AutoCache is what the name implies: automatic cache.

Regardless of the web application you’re using, AutoCache should be able to speed it up. It will sit between PHP and your PHP web application and watch what data passes by, so that if there is a duplicate request in the future (within a set timeframe), then instead of letting the app run its course again, we’ll serve a saved/cached copy. This means less database queries and less processing per request (as pulling an object from cache usually takes < 1ms).

Implementation

To implement AutoCache, all you need to do is add a few lines of code to the top (or near the top) of your script. The positioning is irrelevant as long as nothing is shown to the client and no HTTP headers are sent before you call AutoCache::Push() or AutoCache::PullOrPush().

Examples

<?php
require 'auto-cache.php';
AutoCache::Hash($_SERVER['REQUEST_URI']);
AutoCache::PullOrPush(5);

The above script will make any requests with the same URI to be considered the same object. The object will stay cached for a maximum of 5 seconds (that’s the TTL —time to live). Any other requests within 5 seconds of another request of the same URI will be served from cache.

If your content differs per IP address or cookie, simply use something like this:

<?php
require 'auto-cache.php';
AutoCache::Hash($_SERVER['REQUEST_URI']);
// Don't serve the same content for different IP addresses.
AutoCache::Hash($_SERVER['REMOTE_ADDR']);
AutoCache::PullOrPush(5);

Or…

<?php
require 'auto-cache.php';
AutoCache::Hash($_SERVER['REQUEST_URI']);
// Different "username" cookie, different object.
AutoCache::Hash($_COOKIE['username']);
AutoCache::PullOrPush(5);

Download AutoCache (Miscellaneous)

Leave a Reply

Your email address will not be published. Required fields are marked *