moust/silex-cache

Silex应用程序的缓存服务提供商

v2.0.2 2017-10-17 12:36 UTC

This package is not auto-updated.

Last update: 2024-09-14 15:00:48 UTC


README

Build Status

Silex缓存服务提供商

Silex缓存服务提供商允许您在Silex应用程序中使用多种PHP字节码缓存。

安装

要启用它,请将以下依赖项添加到您的composer.json文件中

{
    "require": {
        "moust/silex-cache": "~2.0"
    }
}

参数

  • cache.options:缓存选项数组。
    • driver:要使用的缓存驱动程序。可以是以下之一:apcapcuarrayfilememcachememcachedxcacherediswincache
    • cache_dir:仅与file缓存驱动程序相关,指定缓存目录的路径
    • memcache:仅与memcache缓存驱动程序相关,提供要使用的Memcache实例。如果未定义,将实例化默认的Memcache对象。有关更多信息,请参阅Memcache文档:PHP: Memcache - Manual
    • memcached:仅与memcached缓存驱动程序相关,提供要使用的Memcached实例。如果未定义,将实例化默认的Memcached对象。有关更多信息,请参阅Memcached文档:PHP: Memcached - Manual
    • redis:仅与redis缓存驱动程序相关,提供要使用的Redis实例。如果未定义,将实例化默认的Redis对象。有关更多信息,请参阅PhpRedis文档:PhpRedis

注册

$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.optionscaches.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

在此特此授予任何获取此软件及其相关文档副本(以下简称“软件”)的人无限制地处理软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向软件提供的人按以下条件这样做

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“现状”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和无侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论此类责任是基于合同、侵权或其他方式,以及与软件或软件的使用或其他交易有关。