PHP Classes

Simple Cache System: Store and retrieve cached data in MySQL and files

Recommend this page to a friend!
     
  Info   Example   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
Not enough user ratingsTotal: 135 All time: 9,293 This week: 455Up
Version License PHP version Categories
atto-cache 1.0.0GNU Free Document...5.5PHP 5, Databases, Files and Folders, C...
Description 

Author

This package can store and retrieve cached data in MySQL and files.

It provides a base class that performs several cache management operations like storing a cache value with a key and retrieve or invalidate a stored cached value.

The package also provide classes that perform the actual storage operations in different containers like a MySQL database table, files, or a dummy container that does not store anything just for testing purposes.

Picture of Andrei Alexandru
  Performance   Level  
Name: Andrei Alexandru <contact>
Classes: 4 packages by
Country: Spain Spain
Innovation award
Innovation award
Nominee: 2x

Winner: 1x

Example

<?php

use Atto\Cache\Cache;

require
'Atto/Cache/Cache.php';
require
'Atto/Cache/Item.php';
require
'Atto/Cache/Storage.php';
require
'MySQLStorage.php';


// Lets create this storage now, a custom one
$storage = new MySQLStorage('localhost', 'root', '', 'database', 'cache');

// We use the MySQL Storage engine now
$cache = new Cache($storage, 60); // By default all items have 60 seconds of time to live

// Create some random data
$data = ['foo', 'bar', 'baz'];

// 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');

print_r($cache->get('some.id.key'));
print_r($cache->get('forever'));

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


  Files folder image Files (8)  
File Role Description
Files folder imageAtto (1 directory)
Accessible without login Plain text file CacheExtendedTest.php Example How to use the MySQLStorage we created.
Accessible without login Plain text file CacheTest.php Example Usage and testing
Accessible without login Plain text file MySQLStorage.php Example Example of an external storage

  Files folder image Files (8)  /  Atto  
File Role Description
Files folder imageCache (3 files, 1 directory)

  Files folder image Files (8)  /  Atto  /  Cache  
File Role Description
Files folder imageStorage (2 files)
  Accessible without login Plain text file Cache.php Class Main Cache class
  Accessible without login Plain text file Item.php Class Item for the cache system
  Accessible without login Plain text file Storage.php Class Storage interface

  Files folder image Files (8)  /  Atto  /  Cache  /  Storage  
File Role Description
  Accessible without login Plain text file FileStorage.php Class File storage implementation.
  Accessible without login Plain text file NullStorage.php Class Null storage, if you dont want to use any cache for some reason

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 0%
Total:135
This week:0
All time:9,293
This week:455Up