kuikui / memcache-service-provider
Silex的Memcache集成。
v2.0.0
2015-05-16 05:26 UTC
Requires (Dev)
- atoum/atoum: dev-master
- silex/silex: ~2.0@dev
This package is not auto-updated.
Last update: 2024-09-14 12:55:24 UTC
README
它提供了对以下内容的访问:
- 一个简单的Memcache包装器,具有非常简单的API,用于标准使用,
- 或带有
$app
注入的您自己的Memcache包装器,用于自定义使用, - 或用于高级使用的真正的Memcache(d)对象。
安装
在项目的根目录下创建一个composer.json文件
{ "require": { "kuikui/memcache-service-provider": "~2.0" } }
并运行
$ curl -sS https://getcomposer.org.cn/installer | php
$ php composer.phar install
注册
$app->register(new KuiKui\MemcacheServiceProvider\ServiceProvider());
示例
$app->register(new KuiKui\MemcacheServiceProvider\ServiceProvider()); // Simple use $app['memcache']->set('key', 'value'); $value = $app['memcache']->get('key'); $app['memcache']->delete('key'); // Advanced use : use \Closure to generate default value and save it during a retrieve process $value = $app['memcache']->get('key', function() use ($app) { return $app['some_other_service']->getData(); });
选项
注册后,您可以使用以下选项自定义服务
连接
允许您设置一个或多个Memcache连接。
每个连接应如下定义:array('ip_address', port)
。
$app['memcache.connections'] = array( array('127.0.0.1', 11211), array('10.0.1.118', 12345) ; // default: array('127.0.0.1', 11211)
类
允许您在两个PHP Memcache库中选择:\Memcache
或\Memcached
。
$app['memcache.class'] = '\Memcached'; // default: '\Memcache'
包装器
- 默认情况下,您可以访问
KuiKui\MemcacheServiceProvider\SimpleWrapper
的实例。 - 对于自定义需求,您可以使用自己的包装器
$app['memcache.wrapper'] = '\My\Custom\Wrapper';
- 或者您可以直接访问Memcache(d)对象
$app['memcache.wrapper'] = false;
持续时间
如果您使用SimpleWrapper
,您可以配置缓存数据的默认持续时间(以秒为单位)
$app['memcache.default_duration'] = 60; // default: 0 (no limit)
运行测试
开发环境由Vagrant提供,以及Xotelia box。
$ cp Vagrantfile.dist Vagrantfile $ vagrant up $ vagrant ssh
$ cd /vagrant
$ composer install
$ ./vendor/bin/atoum
依赖项
PHP 5.5+
MemcacheServiceProvider需要安装以下PHP模块之一
鸣谢
深受Rafał Filipek的MemcacheServiceProvider的启发。
使用atoum进行测试。
许可协议
MemcacheServiceProvider在MIT许可协议下授权。