<?php
require 'Atto/Cache/Cache.php';
require 'Atto/Cache/Item.php';
require 'Atto/Cache/Storage.php';
require 'Atto/Cache/Storage/FileStorage.php';
require 'Atto/Cache/Storage/NullStorage.php';
use Atto\Cache\Cache;
use Atto\Cache\storage\FileStorage;
use Atto\Cache\storage\NullStorage;
// Some configuration
$useCache = true;
if ($useCache === true) {
// You MUST use a non-public directory for this.
$storage = new FileStorage(__DIR__);
} else {
// Null storage doesn't save anything
// Always return's a null value when you call $cache->get($key) method.
$storage = new NullStorage();
}
$cache = new Cache($storage, 60); // By default all items have 60 seconds of time to live
// Store new items
$cache->store('some.id.key', $data); // $data will live for 60 seconds (default - Cache constructor)
$cache->store('another.key', $data, 60 * 60 * 24 * 7); // Now $data will live for 7 days
$cache->store('forever', $data, 0); // Using a $ttl less than 1 will indicate that this item never expires
// Retrieve items from the cache
$data = $cache->get('some.id.key');
if ($data === null) {
// $data does not exist in the cache storage
$data = ['foo', 'bar', 'baz'];
}
// Invalidate data
$cache->invalidate('another.key'); // This will remove an item from the cache storage
|