angrybytes/cache

该包已被废弃且不再维护。未建议替代包。

支持各种适配器的缓存存储

1.0.3 2014-09-05 10:16 UTC

This package is not auto-updated.

Last update: 2020-08-04 14:59:56 UTC


README

此包不再维护!

Build Status Scrutinizer Code Quality

这是一个简单的缓存存储,支持多种后端。包括文件和memcached后端。

安装

通过 Packagist 上的 Composer 进行安装

用法

用法简单

<?php

// Instantiate
$adapter = new AngryBytes\Cache\Adapter\Memcached;
$adapter->addServer('localhost', 11211);

$cache = new AngryBytes\Cache\Cache($adapter);

// Save
$cache->save($yourExpensiveData, 'cache-key');

// Load
$data = $cache->load('cache-key');

// Delete
$data = $cache->delete('cache-key');

结果检查

存在一个特殊的返回类型 AngryBytes\Cache\ResultNotFound,表示无法检索结果

<?php

// Load
$data = $cache->load('cache-key');

// Check
if ($data instanceof AngryBytes\Cache\ResultNotFound) {
    $yourExpensiveData = yourExpensiveMethod();

    // Save
    $cache->save($yourExpensiveData, 'cache-key');
}

ID 前缀

如果您需要在同一后端上支持多个缓存存储,可以为所有ID添加前缀

<?php

// Two stores with same adapter but different prefix:

$cache1 = new AngryBytes\Cache\Cache($adapter);
$cache1->setIdPrefix('foo');

$cache2 = new AngryBytes\Cache\Cache($adapter);
$cache2->setIdPrefix('foo');

您也可以添加多个前缀,这在键清理时可能很有用

<?php

$cache = new AngryBytes\Cache\Cache($adapter);
$cache->addIdPrefix('foo');
$cache->addIdPrefix('bar');