easyswoole - 基于swoole扩展实现的一款高性能php框架

memcache協(xié)程客戶端

memcache協(xié)程客戶端,由swoole 協(xié)程client實(shí)現(xiàn)

組件要求

  • easyswoole/spl: ^1.1

安裝方法

composer require easyswoole/memcache

倉庫地址

easyswoole/memcache

客戶端調(diào)用

$config = new \EasySwoole\Memcache\Config([
    'host' => '127.0.0.1',
    'port' => 11211
]);
$client = new EasySwoole\Memcache\Memcache($config);

使用示例:

$config = new \EasySwoole\Memcache\Config([
    'host' => '127.0.0.1',
    'port' => 11211
]);
$client = new EasySwoole\Memcache\Memcache($config);
$client->set('a',1);
$client->get('a');

使用方法:

touch摸一下(刷新有效期)

touch($key, $expiration, $timeout = null)

increment自增KEY

increment($key, $offset = 1, $initialValue = 0, $expiration = 0, $timeout = null)

decrement自減KEY

decrement($key, $offset = 1, $initialValue = 0, $expiration = 0, $timeout = null)

set設(shè)置KEY(覆蓋)

set($key, $value, $expiration = 0, $timeout = null)

add增加KEY(非覆蓋)

add($key, $value, $expiration = 0, $timeout = null)

replace替換一個(gè)KEY

replace($key, $value, $expiration = 0, $timeout = null)

append追加數(shù)據(jù)到末尾

append($key, $value, $timeout = null)

prepend追加數(shù)據(jù)到開頭

prepend($key, $value, $timeout = null)

get獲取KEY

get($key, $timeout = null)

delete刪除一個(gè)key

delete($key, $timeout = null)

stats獲取服務(wù)器狀態(tài)

stats($type = null, $timeout = null)

version獲取服務(wù)器版本

version(int $timeout = null)

flush 清空緩存

flush(int $expiration = null, int $timeout = null)

setMulti 存儲(chǔ)多個(gè)元素

public function setMulti(array $items, $expiration = null, $timeout = null)

getMulti 檢索多個(gè)元素

public function getMulti(array $keys, bool $isCas = false, $timeout = null)

cas 檢查并設(shè)置

public function cas(float $casToken, string $key, $value, int $expiration = null, $timeout = null)

進(jìn)階使用

Memcache連接池示例

安裝 easyswoole/pool 組件

composer require easyswoole/pool

具體pool相關(guān)詳細(xì)用法可查看 連接池

新增MemcachePool管理器

新增文件/App/Pool/MemcachePool.php

<?php
/**
 * Created by PhpStorm.
 * User: Tioncico
 * Date: 2019/10/15 0015
 * Time: 14:46
 */

namespace App\Pool;

use EasySwoole\Memcache\Memcache;
use EasySwoole\Pool\Config;
use EasySwoole\Pool\AbstractPool;
use EasySwoole\Memcache\Config as MemcacheConfig;

class MemcachePool extends AbstractPool
{
    protected $memcacheConfig;

    /**
     * 重寫構(gòu)造函數(shù),為了傳入memcache配置
     * RedisPool constructor.
     * @param Config      $conf
     * @param MemcacheConfig $memcacheConfig
     * @throws \EasySwoole\Pool\Exception\Exception
     */
    public function __construct(Config $conf,MemcacheConfig $memcacheConfig)
    {
        parent::__construct($conf);
        $this->memcacheConfig = $memcacheConfig;
    }

    protected function createObject():Memcache
    {
        //根據(jù)傳入的memcache配置進(jìn)行new 一個(gè)memcache客戶端
        $memcache = new Memcache($this->memcacheConfig);
        return $memcache;
    }
}

注冊(cè)到Manager中(在initialize事件中注冊(cè)):


$config = new \EasySwoole\Pool\Config();

$memcacheConfig1 = new \EasySwoole\Memcache\Config(Config::getInstance()->getConf('MEMCACHE1'));
\EasySwoole\Pool\Manager::getInstance()->register(new \App\Pool\MemcachePool($config,$memcacheConfig1),'memcache1');

$memcacheConfig2 = new \EasySwoole\Memcache\Config(Config::getInstance()->getConf('MEMCACHE2'));
\EasySwoole\Pool\Manager::getInstance()->register(new \App\Pool\MemcachePool($config,$memcacheConfig2),'memcache2');

調(diào)用(可在控制器中全局調(diào)用):

go(function (){
    $memcachePool1 = Manager::getInstance()->get('memcache1');
    $memcachePool2 = Manager::getInstance()->get('memcache2');
    $memcache1 = $memcachePool1->getObj();
    $memcache2 = $memcachePool2->getObj();

    var_dump($memcache1->set('name', '仙士可1'));
    $this->response()->write($memcache1->get('name'));
    var_dump($memcache2->set('name', '仙士可2'));
    $this->response()->write($memcache2->get('name'));

    //回收對(duì)象
    $memcachePool1->recycleObj($memcache1);
    $memcachePool2->recycleObj($memcache2);
});
主站蜘蛛池模板: 上海新航道学校官网_20年专注雅思_托福_SAT_ACT等出国语言培训机构. | 慢直播摄像头厂家,监控直播摄像机厂家,景区慢直播设备,rtmp推流直播摄像头,实时摄像头监控直播-监控慢直播厂家:专注监控慢直播系统解决方案 | 环链电动葫芦_钢丝绳电动葫芦_电动葫芦厂家_上海沪工起重机械有限公司 | 云德律师事务所_全国律师服务咨询服务企业 | 普利塞HS穿刺活检针-巴德穿刺活检针-美创爱琅Argon活检针同轴针-山东瑞玺源 | 微型电磁阀_隔膜泵_活塞泵_微型水泵_微型真空泵_微型气泵【东莞市宗旨电子科技有限公司】 | 青岛网站建设_网站制作_品牌设计_网站设计_圭谷设计 | 河北博隆环保科技有限公司-甲醛检测_甲醛治理_光触媒 | 新2025澳门天天开好彩生肖对照表,2025新澳精准正版免费,2025新澳今晚开奖资料大全,新澳门四肖期期准免费,新澳门今晚9点30分开奖结果 | 压力试验机,万能试验机-北京大地华宇仪器设备有限公司 官网 | 微机继电保护测试仪,单相继电保护测试仪,三相继电保护测试仪,六相继电保护测试仪,介质损耗测试仪,氧化锌避雷器测试仪,无线核相仪-扬州豪泰电力科技有限公司 | 麦秸映像网络技术有限公司,河南省政府采网入驻对接,新乡网站维护建设,小程序开发,APP定制开发,钉钉开发,新乡软件开发等相关网络业务 | 排水PVC管-PVC排污管-给水PVC管-电线PVC管-米阳建材pvc管厂 | 恒温干燥箱厂家-烘箱厂家-马弗炉厂家-生化培养箱-上海有丰科学仪器有限公司 | 普利塞HS穿刺活检针-巴德穿刺活检针-美创爱琅Argon活检针同轴针-山东瑞玺源 | 砂浆生产线_干混砂浆设备_干混砂浆生产线-苏州一工机械有限公司 砂基透水砖滤水率,防滑性试验仪,砂基透水砖落球冲击,抗冲击试验机-献县中正试验仪器销售处 | 沈阳机电一体化电热锅炉_沈阳蓄热式电锅炉_沈阳壁挂式电锅炉【沈阳远鹏电热供水设备工程安装有限公司】 | 深圳市碧源达科技有限公司| 微EAM - EHS安全管理系统-设备管理系统-设备全生命周期管理软件-HSE安全管理软件 | 气象站_校园气象站_自动气象站_光伏气象站-山东万象环境科技有限公司 | 洒水车厂家、消防车、污水处理车厂家-程力专用汽车股份有限公司 洒水车|冷藏车|LED广告车|油罐车|道路救援车|垃圾车|程力专用汽车股份有限公司销售九分公司 | 辽宁鑫宇实验室系统工程有限公司| 聚氨酯碰头,聚氨酯托辊,聚氨酯地辊/地滚轮/地轮/托绳轮-济宁卓力聚氨酯制品有限公司 | 贴标机_全自动贴标机_贴标机生产厂家_【佼佼者自动化】 | 企业宣传片制作公司-广告宣传片拍摄-专题片,tvc广告制作-拍摄微电影影视公司-艺虎文化 | 泥沙泵_脱硫泵_潜水泵_离心泵_渣浆泵厂家|诚信为先-泰安华泰泵业制造有限公司 | 中昕国际项目管理有限公司-官方网站 | 在线播放国产精品|哔咔漫画破解版永久vip兑换码|免费黄漫画|女被黄漫扒衣服软件|91精品麻豆 | 宿迁网站建设-宿迁做网站-宿迁网站制作-宿迁网络公司-宿迁网页设计-宿迁软件开发-宿迁新动力软件开发有限公司 | 山东万利精密机械制造有限公司-高速金属圆锯机,数控高速圆锯机,高速圆锯机生产厂家 | 室内儿童乐园定制_淘气堡订做_蹦床公园订制厂家-乐奇多 | 王者荣耀/和平精英扫码上号登录器_微信安卓苹果扫码上号登录软件 - 上号宝扫码登录器 | 浙江创洁卫生消杀有限公司-浙江杀虫公司,温州消杀公司,温州灭鼠公司,灭蟑螂,灭蚊蝇,灭跳蚤,灭书虱,灭臭虫,灭螨虫,白蚁防治,房间消毒除味等专业服务 | 乌鲁木齐万疆通管道设备有限公司 销售热线;13565955557-新疆 乌鲁木齐 万疆通 管道设备 波纹补偿器 膨胀节 金属软管 伸缩器 管件 阀门 维修 | 真空工业炉-真空油淬炉-真空气淬炉-高温石墨化炉-江苏华弘真空科技有限公司 | 学汽修_汽修学校_汽修学校哪家好-江西万通汽车学院官网 | 无锡双海金属科技有限公司[官网] | 木工圆锯片,进口锯片厂家,合金锯片生产厂家,木工合金锯片,BAK(百恪)刀具有限公司 | 手板机箱_亚克力机箱_医疗机箱_美容机箱_医疗设备外壳厂家_鸿堪医疗器械有限公司 | 珠海市甜菊科技发展有限公司 | 空气消毒机厂家-医用空气消毒机-医用空气净化器-山东佳境医疗 |