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

FastCache 2.x

EasySwoole 提供了一個(gè)快速緩存,是基礎(chǔ)UnixSock通訊和自定義進(jìn)程存儲(chǔ)數(shù)據(jù)實(shí)現(xiàn)的,提供基本的緩存服務(wù),本緩存為解決小型應(yīng)用中,需要?jiǎng)硬粍?dòng)就部署Redis服務(wù)而出現(xiàn)。

目前 Fast-Cache 組件最新版本為 2.x2.x 版本為了讓快速緩存變得更輕量級(jí),所以放棄了落地重啟恢復(fù)數(shù)據(jù)的特性,推薦用戶使用 Memcached EasySwoole Memcached 組件 或者 Redis EasySwoole Redis 組件 對(duì)緩存數(shù)據(jù)進(jìn)行落地處理。 如果想要使用 1.3.x 版本的 Fast-Cache 組件,請(qǐng)查看文檔 Fast-Cache 組件 1.3.x

組件要求

  • php: >=7.1.0
  • easyswoole/component: ^2.0
  • easyswoole/spl: ^1.1

安裝方法

composer require easyswoole/fast-cache

倉(cāng)庫(kù)地址

easyswoole/fast-cache

基本使用

服務(wù)注冊(cè)

我們?cè)贓asySwoole全局的事件中進(jìn)行注冊(cè)

<?php

use EasySwoole\FastCache\Cache;
// 在最新的 2.x 中,改為 config 配置文件配置
$config = new \EasySwoole\FastCache\Config();
$config->setTempDir(EASYSWOOLE_TEMP_DIR);
Cache::getInstance($config)->attachToServer(ServerManager::getInstance()->getSwooleServer());

// 老版本(2.x 以前)依舊使用以下即可
Cache::getInstance()->setTempDir(EASYSWOOLE_TEMP_DIR)->attachToServer(ServerManager::getInstance()->getSwooleServer());

FastCache只能在服務(wù)啟動(dòng)之后使用,需要有創(chuàng)建unix sock權(quán)限(建議使用vm,docker或者linux系統(tǒng)開(kāi)發(fā)),虛擬機(jī)共享目錄文件夾是無(wú)法創(chuàng)建unix sock監(jiān)聽(tīng)的

客戶端調(diào)用

服務(wù)啟動(dòng)后,可以在任意位置調(diào)用

use EasySwoole\FastCache\Cache;
Cache::getInstance()->set('get','a');
var_dump(Cache::getInstance()->get('get'));

相關(guān)方法

設(shè)置臨時(shí)目錄

  • public function setTempDir(string $tempDir): Cache

設(shè)置緩存進(jìn)程數(shù)

  • public function setProcessNum(int $num): Cache

設(shè)置緩存進(jìn)程所在服務(wù)名

  • public function setServerName(string $serverName): Cache

設(shè)置定時(shí)回調(diào),可用于數(shù)據(jù)定時(shí)落地

  • public function setOnTick($onTick): Cache

設(shè)置定時(shí)回調(diào)間隔

  • public function setTickInterval($tickInterval): Cache

設(shè)置進(jìn)程啟動(dòng)回調(diào),可以用于數(shù)據(jù)落地恢復(fù)

  • public function setOnStart($onStart): Cache

設(shè)置進(jìn)程關(guān)閉回調(diào),可以用于數(shù)據(jù)落地

  • public function setOnShutdown(callable $onShutdown): Cache

設(shè)置指定 key 的值

  • public function set($key, $value, ?int $ttl = null, float $timeout = 1.0)

獲取指定 key 的值

  • public function get($key, float $timeout = 1.0)

刪除指定 key的值

  • public function unset($key, float $timeout = 1.0)

獲取所有key的值

  • public function keys($key = null, float $timeout = 1.0): ?array

清空所有進(jìn)程的數(shù)據(jù)

  • public function flush(float $timeout = 1.0)

推入隊(duì)列

  • public function enQueue($key, $value, $timeout = 1.0)

從隊(duì)列中取出

  • public function deQueue($key, $timeout = 1.0)

獲取隊(duì)列當(dāng)前長(zhǎng)度

  • public function queueSize($key, $timeout = 1.0)

釋放隊(duì)列

  • public function unsetQueue($key, $timeout = 1.0)

返回當(dāng)前隊(duì)列的全部key名稱

  • public function queueList($timeout = 1.0): ?array

清空所有隊(duì)列

  • public function flushQueue(float $timeout = 1.0): bool

設(shè)置一個(gè)key的過(guò)期時(shí)間

  • public function expire($key, int $ttl, $timeout = 1.0)

移除一個(gè)key的過(guò)期時(shí)間

  • public function persist($key, $timeout = 1.0)

查看某個(gè)key的ttl

  • public function ttl($key, $timeout = 1.0)

將哈希表 key 中的字段 field 的值設(shè)為 value

  • function hSet($key, $field, $value, float $timeout = 1.0)

獲取存儲(chǔ)在哈希表中指定字段的值

  • function hGet($key, $field = null, float $timeout = 1.0)

刪除一個(gè)哈希表字段

  • function hDel($key, $field = null, float $timeout = 1.0)

清空所有

  • function hFlush(float $timeout = 1.0)

獲取所有哈希表中的字段

  • function hKeys($key, float $timeout = 1.0)

迭代哈希表中的鍵值對(duì)

  • function hScan($key, $cursor = 0, $limit = 10, float $timeout = 1.0)

只有在字段 field 不存在時(shí),設(shè)置哈希表字段的值

  • function hSetnx($key, $field, $value, float $timeout = 1.0)

查看哈希表 key 中,指定的字段是否存在

  • function hExists($key, $field, float $timeout = 1.0)

獲取哈希表中字段的數(shù)量

  • function hLen($key, float $timeout = 1.0)

為哈希表 key 中的指定字段的整數(shù)值加上

  • function hIncrby($key, $field, $value, float $timeout = 1.0)

同時(shí)將多個(gè) field-value對(duì)設(shè)置到哈希表 key 中

  • function hMset($key, $fieldValues, float $timeout = 1.0)

獲取所有給定字段的值

  • function hMget($key, $fields, float $timeout = 1.0)

獲取哈希表中所有值

  • function hVals($key, float $timeout = 1.0)

獲取在哈希表中指定 key 的所有字段和值

  • function hGetAll($key, float $timeout = 1.0)

消息隊(duì)列支持

如具體查看消息隊(duì)列,請(qǐng)查看FastCacheQueue

主站蜘蛛池模板: 西安测试仪-西安电压测试仪-西安电流测试仪-西安热油汽水测试仪-西安阻抗测试仪-西安时间速度测试仪-西安电力设备厂家-西安中洲电力设备有限公司 | 苏州ERP定制|苏州CRM|苏州OA|苏州BPM|进销存管理系统-苏州中尚信息科技有限公司 | 三叶罗茨鼓风机_三叶罗茨风机厂家_山东九洲四海机械有限公司 | 西安木包装箱出口托盘定做价格-抽真空实木包装箱免熏蒸木箱多层板木箱哪家好-模压托盘及白松原木-西安宇森木业 | 康拓威技术(深圳)有限公司|Theia镜头代理商|安讯士AXIS摄像机|安讯士监控系统|博世BOSCH监控|博世会议系统|索尼SONY监控|松下PANASONIC监控|三星韩华SAMSUNG监控|霍尼韦尔Honeywell|海康|大华|华为监控|Theia无畸变镜头|AXIS监控|安讯视摄像机 | 医用空气净化消毒机,医用床单位消毒机,无磁空气消毒机,紫外线空气消毒机厂家-南昌市扬帆环保设备有限公司 | 随州市东正专用汽车有限公司| 木屑烘干机|酒糟烘干机|果渣烘干机_郑州东鼎机械 | 气密仪-气密性检测仪-气密性测试仪-苏州莱和电子科技有限公司 | 深圳展厅设计_产业园区展馆设计_展馆设计公司_健康产业展馆设计_展厅设计哪家好_华竣国际 | 碳纤维棒_碳纤维管_碳纤维缠绕管_嘉兴恒隆复合材料有限公司 | 消防改造安装,消防维修检测,消防工程安装,气体灭火施工安装,火灾烟感探测器清洗 | 智能仓储货架厂家 - 汇峰仓储 | 天下机械|机床商讯-机械网|机械技术|机械信息|机床资讯|机床设备|机床商讯杂志 | 锂电池破碎生产线|大型电池粉碎机|锂电池分离设备|电池破碎打粉设备-河南鑫恒岩重工科技有限公司 | 全通径焊接球阀_全焊接球阀「生产厂家」批发-浙江信合阀门有限公司 | 首页|广东蒙泰高新纤维股份有限公司|丙纶细旦丝|丙纶异形丝|丙纶FDY网络丝 - 广东蒙泰高新纤维股份有限公司 | 长沙考研-长沙考研辅导学校-长沙领航教育科技有限公司 | 明康食品有限公司 -方集馓子 亨特小麻花| 自恢复保险丝_贴片保险丝_插件保险丝_力特保险丝_力特经销商_SMD贴片保险丝_一次性保险丝厂家—深圳市集电通实业有限公司 | 上海熙隆光电科技有限公司-半导体激光器,一字线激光器,光纤耦合激光器,拉曼激光器 | 乳化泵-高剪切乳化机-减速机支架-乳化罐-釜底乳化机【厂家】-浙江奥盛机械 | 云梯车|云梯搬家车|工程高空上料车|云梯登高车价格|视频|图片-专汽之家 | 上海海外置业展_2024海外置业移民留学展_4月5-7日_企业参展处/免费领门票 | 银联POS机_银联微信支付宝刷卡POS机_外币POS机_移动POS机办理安装——谷骐科技 | 太原重卡叔叔运输有限公司-山西太原大件运输、太原物流公司、太原货运物流、太原大件运输、太原货运信息、长治物流公司、长治大件运输、晋城物流公司、晋城大件运输、忻州大件运输、朔州大件运输、阳泉大件运输、大同大件运输、吕梁大件运输、临汾大件运输、运城大件运城 | 家具板|橱柜衣柜家具板|木饰面定制|榉木胶合板|防水胶合板|胶合板厂家-佛山吉盛唐朝木业-大坂木业 | 威学一百-专注国际学校择校备考-DSE-A-level-雅思-托福-OSSD-港澳台联考-AP-IGCSE-IB-AMC-多邻国-PTE-SAT-SSAT-小语种(如日语,韩语,德语,法语,西班牙语,意大利语,俄语,泰语)等考试培训,为出国留学学生提供个性化定制性学习方案,线下实体面授+线上网络课程, 提供一对一,小班课等多种班型 | 停车场设计|地下停车场规划设计|智能停车位地下车库设计施工装修|深圳创安顺停车库规划设计有限公司 | 幼儿园设计公司/南昌酒店装修/办公室/餐厅/民宿/店面/展厅/装修设计公司-益昌装饰集团 | 山东净化车间_净化工程_净化公司-山东海蓝净化装饰工程有限公司 山东金起起重机械有限公司[官网]-金桥银路悬臂吊,金起龙门吊,山东金起起重行吊,单梁起重机 | 济宁搬家公司_曲阜搬家_济宁金顺搬家电话 | 提供技术支持-TXC晶振-晶振厂家-32.768K,石英晶体振荡器厂家销售-NDK振荡器正规代理商 | 伸缩机厂家-现货快递物流伸缩皮带机|装车输送机-乐清市华森自动化设备有限公司 | 九江中澳钽铌有限公司| 宁波允泰仪器有限公司-硬度计、拉力试验机、盐雾试验箱、影像测量仪、气动量仪 | 日本国际高中_上海日本国际高中学校排名_日本国际高中留学课程_上海日语国际高中学校学费-上海工程技术大学国际多语种特色高中课程【官网】 | 筱晓(上海)光子技术有限公司官网,MCT探测器,半导体激光二极管,中红外QCL激光器,光纤放大器,光电探测器 | 真空工业炉-真空油淬炉-真空气淬炉-高温石墨化炉-江苏华弘真空科技有限公司 | 吉安天卓选矿药剂有限公司 | 景德镇芳然装饰有限公司|