Skip to content
Branch: master
Find file History
Type Name Latest commit message Commit time
Failed to load latest commit information.
Aerospike.php Fixed Aerospike::exists Dec 11, 2016
Database.php Update license Oct 2, 2016
Wincache.php Update license Oct 2, 2016


Usage examples of the adapters available here:


This adapter uses an Aerospike Database to store the cached content.

To use this adapter on your machine, you need at least:


use Phalcon\Cache\Backend\Aerospike as BackendCache;
use Phalcon\Cache\Frontend\Data;

$di->set('cache', function () {
    $cache = new BackendCache(new Data(['lifetime' => 3600]), [
        'hosts' => [
            ['addr' => '', 'port' => 3000]
        'persistent' => true,
        'namespace'  => 'test',
        'prefix'     => 'cache_',
        'options'    => [
            \Aerospike::OPT_CONNECT_TIMEOUT => 1250,
            \Aerospike::OPT_WRITE_TIMEOUT   => 1500

    return $cache;


This adapter uses a database backend to store the cached content:

use Phalcon\Cache\Backend\Database;
use Phalcon\Cache\Frontend\Data;
use Phalcon\Db\Adapter\Pdo\Mysql;

$di->set('cache', function() {
	// Create a connection
	$connection = new Mysql([
	    'host'     => 'localhost',
	    'username' => 'root',
	    'password' => 'secret',
	    'dbname'   => 'cache_db'

	// Create a Data frontend and set a default lifetime to 1 hour
	$frontend = new Data(['lifetime' => 3600]);

	// Create the cache passing the connection
	$cache = new Database($frontend, [
	    'db'    => $connection,
	    'table' => 'cache_data'

	return $cache;

This adapter uses the following table to store the data:

 CREATE TABLE `cache_data` (
  `key_name` varchar(40) NOT NULL,
  `data` text,
  `lifetime` int(15) unsigned NOT NULL,
  PRIMARY KEY (`key_name`),
  KEY `lifetime` (`lifetime`)

Using the cache adapter:

$time = $this->cache->get('le-time');
if ($time === null) {
    $time = date('r');
    $this->cache->save('le-time', $time);

echo $time;


This adapter uses windows cache extension for PHP


NullCache adapter can be useful when you have dependency injection and wants to provider an Adapter that does nothing.

You can’t perform that action at this time.