quick / cache
这是一个使用Redis进行快速缓存的缓存系统。
v1.0.1
2012-09-26 19:00 UTC
Requires
- php: >=5.3.0
- predis/predis: v0.7.3
This package is not auto-updated.
Last update: 2024-09-28 13:51:12 UTC
README
这是一个简单易用的PSR-2驱动缓存库,可以缓存简单的键值对或调用方法并缓存其结果。
包含以下驱动程序
- 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