myoperator / libmemcached
通用的Memcached库
dev-master
2019-09-10 10:33 UTC
Requires
- php: >=5.5.9
Requires (Dev)
- phpunit/phpunit: ^5
This package is not auto-updated.
Last update: 2024-09-30 16:37:29 UTC
README
此库旨在用作myopeator项目中所需较少附加功能的memcached连接器。否则,这与使用memcached库相同。
功能
- 命名空间和定义
- PSR-4自动加载兼容结构
- 使用PHPUnit进行单元测试
- 易于在任何框架或纯PHP文件中使用
安装
您可以通过在您的composer.json中添加以下部分轻松安装此包
"repositories": [
{
"type": "vcs",
"url": "https://github.com/myoperator/libmemcached.git"
}
]
然后执行: composer require myoperator/libmemcached:dev-master
或者在您的composer.json中添加以下内容
"require": {
"myoperator/libmemcached": "dev-master"
}
您的composer.json将如下所示
{
"require": {
"myoperator/libmemcached": "dev-master"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/myoperator/libmemcached.git"
}
]
}
使用方法
- 将
vendor/autoload包含到您的项目中
include_once 'vendor/autoload.php';
- 配置包
use \MyOperator\LibMemcached; $memcache = LibMemcached::getInstance(['host' => 'localhost', 'port' => '11211']); //defaults to 127.0.0.1:11211 // Get value $val = $memcache->get('a'); // Null $memcache->set('a', 1); // a = 1 $memcache->increment('a'); // a =2 $memcache->decrement('a'); // a =1
模拟
由于这是一个memcache库,因此任何使用此库的代码都倾向于避免实际网络请求(此库执行),以进行单元测试。
为了避免这些网络场景,此库方便地提供了一个模拟实例来测试memcached的一些最常用方法,包括
- get
- set
- increment
- decrement
- addServer
- getVersion
要在任何框架中模拟此库,您可以简单地使用以下示例代码
$mockedMemcacheInstance = \MyOperator\LibMemcached::getMockInstance(); // Now you can pretty much do anything you'd expect with memcache, to simulate unit test behaviours // For example, setting and getting values is easy :) $mockedMemcacheInstance->set('key', 'val'); $mockedMemcacheInstance->get('key'); //returns 'val'
请查看tests/unit目录以了解可以模拟哪些方法和如何使用模拟。
待办事项
- 添加
phpdoc文档