beryllium/silex-cache-provider

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

Silex 的缓存提供程序,支持 Memcache、APC 和基于文件的缓存。

1.0 2013-11-28 10:06 UTC

This package is auto-updated.

Last update: 2022-02-01 12:28:43 UTC


README

SilexCacheProvider 可以配置以提供 Memcache、APC 或基于文件的缓存客户端接口。

安装

运行 composer require beryllium/silex-cache-provider 或将其添加到您的 composer.json 中

"require": {
    "beryllium/silex-cache-provider": "*"
}

目前,该提供程序仅提供最小稳定性为 "dev"。

配置

Memcache

使用 Memcache 注册提供程序(需要安装 PHP memcache 扩展)

$app->register(
    new Beryllium\SilexCacheProvider\SilexCacheProvider(),
    array(
        'be_cache.type' => 'memcache',
        'be_cache.host' => '127.0.0.1',
        'be_cache.port' => 11211,
    )
);

上述设置是提供程序的默认值,因此如果您使用的是这种配置,实际上可以这样操作

$app->register(new Beryllium\SilexCacheProvider\SilexCacheProvider());

文件缓存

此选项需要一个具有写访问权限的本地文件夹。be_cache 服务将使用该文件夹来存储 PHP 的序列化数据。

$app->register(
    new Beryllium\SilexCacheProvider\SilexCacheProvider(),
    array(
        'be_cache.type' => 'filecache',
        'be_cache.path' => __DIR__ . '/cache'
    )
);

APC 缓存

此选项需要 APC 扩展处于活动状态。

$app->register(
    new Beryllium\SilexCacheProvider\SilexCacheProvider(),
    array(
        'be_cache.type' => 'apc'
    )
);

使用方法

缓存服务公开了三种方法:设置、获取和删除。

设置

此方法需要三个参数:键名、数据和生存时间(以秒为单位)。

要存储变量 $data 5 分钟,您可以使用

$app['be_cache']->set('key_name', $data, 300);

获取和删除

这些方法仅需要一个参数:键名。

$data = $app['be_cache']->get('key_name');
// ...
$app['be_cache']->delete('key_name');

附加提示

前缀

您可能希望与其他进程共享您的 Memcache 实例。在这种情况下,您希望将应用程序的所有键重命名空间,以便它们不会发生冲突。

这可以通过在注册设置中指定前缀来完成

'be_cache.prefix' => 'example_prefix|';

获取客户端

您可以通过两种方式从服务中检索客户端

$client = $app['be_cache.client'];
// or
$client = $app['be_cache']->getClient();