gadelkareem / silex-cache
Silex 应用程序的缓存服务提供商
dev-master / 1.0.x-dev
2016-07-18 19:48 UTC
Requires
- php: >=5.3.3
- pimple/pimple: >1.0
Requires (Dev)
- phpunit/phpunit: ~3.7
- silex/silex: ~1.0
This package is not auto-updated.
Last update: 2024-09-20 10:42:10 UTC
README
Silex Cache Service Provider
Silex Cache 服务提供商允许你在 Silex 应用程序中使用多个 PHP 代码缓存。
安装
要启用它,请将以下依赖项添加到你的 composer.json
文件中
{ "require": { "gadelkareem/silex-cache": "1.0.*@dev" } }
参数
- cache.options: 缓存选项数组。
- driver: 要使用的缓存驱动。可以是以下之一:
apc
、array
、file
、memcache
、memcached
、xcache
、redis
、wincache
。 - cache_dir: 仅对
file
缓存驱动相关,指定缓存目录的路径 - memcache: 仅对
memcache
缓存驱动相关,提供要使用的 Memcache 实例。如果没有定义,将实例化默认的 Memcache 对象。有关更多信息,请参阅 Memcache 文档:PHP: Memcache - 手册 - memcached: 仅对
memcached
缓存驱动相关,提供要使用的 Memcached 实例。如果没有定义,将实例化默认的 Memcached 对象。有关更多信息,请参阅 Memcached 文档:PHP: Memcached - 手册 - redis: 仅对
redis
缓存驱动相关,提供要使用的 Redis 实例。如果没有定义,将实例化默认的 Redis 对象。有关更多信息,请参阅 PhpRedis 文档:PhpRedis
- driver: 要使用的缓存驱动。可以是以下之一:
注册
$app->register(new Moust\Silex\Provider\CacheServiceProvider(), array( 'cache.options' => array( 'driver' => 'apc' ) ));
使用方法
缓存提供商提供了一个缓存服务。以下是一个使用示例
// stores a variable $app['cache']->store('foo', 'bar'); // stores a variable with a 1 minute lifetime $app['cache']->store('foo', 'bar', 60); // fetch variable echo $app['cache']->fetch('foo'); // delete variable $app['cache']->delete('foo'); // clear all cached variables $app['cache']->clear();
使用多个缓存
缓存提供商允许访问多个缓存。要配置缓存驱动,请将 cache.options
替换为 caches.options
。 caches.options
是一个配置数组,键是缓存名称,值是选项
$app->register(new Moust\Silex\Provider\CacheServiceProvider(), array( 'caches.options' => array( 'apc' => array( 'driver' => 'apc' ), 'filesystem' => array( 'driver' => 'file', 'cache_dir' => './temp' ), 'memory' => array( 'driver' => 'array' ), 'memcache' => array( 'driver' => 'memcache', 'memcache' => function () { $memcache = new \Memcache; $memcache->connect('localhost', 11211); return $memcache; } ) ) ));
第一个注册的缓存是默认缓存,可以像只有一个缓存时一样简单访问。给定上述配置,这两行是等价的
$app['cache']->store('foo', 'bar'); $app['caches']['apc']->store('foo', 'bar');
许可证
版权所有 (c) 2014 Quentin Aupetit
特此授予任何获得此软件及其相关文档副本(“软件”)的人免费使用该软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向软件提供者提供软件的人这样做,但必须遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些责任是基于合同、侵权或其他方式产生,无论这些责任是否与软件或其使用或其他方式有关。