easyswoole/memcache-pool

协程Memcache连接池

1.0.0 2021-05-07 08:10 UTC

This package is auto-updated.

Last update: 2024-09-07 15:58:44 UTC


README

安装

composer require easyswoole/memcache-pool

注册

EasySwooleEvent.phpinitialize事件:

$config = new \EasySwoole\Memcache\Config();
$config->setHost('127.0.0.1');
$config->setPort(11211);

\EasySwoole\MemcachePool\MemcachePool::getInstance()->register($config,'default');

池的名称默认为default

获取池

/** @var \EasySwoole\MemcachePool\Pool $pool */
$pool = \EasySwoole\MemcachePool\MemcachePool::getInstance()->getPool('default');

需要自行回收池内对象.

关于pool的具体用法请参考连接池组件.

建议使用以下方案进行缓存:defer、invoke;

Defer

/** @var \EasySwoole\Memcache\Memcache $client */
$client = \EasySwoole\MemcachePool\MemcachePool::defer('default');
$client->set('testKey','1');
$client->get('testKey');

如果连接池不存在,将返回null.

协程结束后将会自动将此链接归还到连接池中.

Invoke

$ret = \EasySwoole\MemcachePool\MemcachePool::invoke(function (\EasySwoole\Memcache\Memcache $memcache){
    return $memcache->get('testKey');
},'default');

如果连接池不存在,将返回null. 成功则会返回回调函数的结果.

回调函数执行完成后,会自动将此链接归还到连接池中.