quick/cache

这是一个使用Redis进行快速缓存的缓存系统。

v1.0.1 2012-09-26 19:00 UTC

This package is not auto-updated.

Last update: 2024-09-28 13:51:12 UTC


README

这是一个简单易用的PSR-2驱动缓存库,可以缓存简单的键值对或调用方法并缓存其结果。

Build Status

包含以下驱动程序

  • Redis(使用出色的predis库)
  • APC(需要APC安装/扩展)*
  • 文件系统

* APC驱动程序不支持通过$cache->clear()手动清除类/方法缓存。

作者

许可

MIT许可

使用方法

首先通过composer安装,将其放置在composer.json文件中

{
	"require": {
	    "quick/cache": "v1.0.0"
	}
}

并运行composer.phar install

现在您可以通过调用类在代码中使用它

$cache = new Quick\Cache;

$cache->set('name', 'Jerel Unruh', $ttl = 3600); /* will expire in 3600 seconds */

$name = $cache->get('name');

$cache->forget('name');

让它为您调用方法并处理结果

// you can pass any config items in an array
$cache = new Quick\Cache(array('driver' => 'redis'));

// pass any arguments as an array
$cache->method($this->UserModel, 'getUsersByGroup', array('admin', 'desc'), 3600);

$cache->method('Project\Model\UserModel', 'getUsersByGroup');

// clear all the data cached for this class
$cache->clear('Project\Model\UserModel');

// or just this class + method
$cache->clear('Project\Model\UserModel', 'getUsersByGroup');

清除此驱动程序的所有缓存项。不要在生产环境中使用它,因为它代价高昂。当将应用程序从预发布版本转换为生产版本等时使用。

$cache = new Quick\Cache;

$cache->flush();

配置

所有配置细节都可以在vendor/quick/cache/config中的配置文件中设置。还有一个配置类,允许您以编程方式设置详细信息。唯一不能通过配置类更改的是驱动程序。它必须在全局配置文件或实例化类时设置;

$cache = new Quick\Cache(array('driver' => 'file'));

$config = $cache->config_instance();

$config->set('cache_path', 'project/cache/');

同时我们可以运行具有不同配置的另一个实例

$redis_cache = new Quick\Cache(array('driver' => 'redis'));

$redis_config = $redis_cache->config_instance();

$redis_config->set_many(array(
	'redis_connection' => array(
		'host'     => '127.0.0.1',
		'port'     => 6379,
		),
	'redis_prefix' => 'cache',
));

// if you set the connection details manually you must refresh the connection
$redis_cache->connect();

// Create an APC driver instance
$apc_cache = new Quick\Cache(array('driver' => 'apc'));

$apc_cache->set('name', 'Jerel Unruh', 3600);

其他方法

$cache_path = $config->get('cache_path');

$config_items = $config->get_all();

$config->load('custom_driver');

测试

Quick Cache使用phpUnit进行单元测试。我使用Guard在工作时运行测试,如果您已安装它,可以像这样测试

cd ./vendor/quick/cache
guard

如果没有安装,您可以通过phpUnit运行它们

cd ./vendor/quick/cache
phpunit

不要在生产环境中运行这些测试!它将清空您的数据库!

错误

如果Quick Cache遇到需要通知您的严重错误(例如不可写的目录),它将抛出QuickCacheException