亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频

FastCache

EasySwoole 提供了一個快速緩存,是基礎UnixSock通訊和自定義進程存儲數據實現的,提供基本的緩存服務,本緩存為解決小型應用中,需要動不動就部署Redis服務而出現。

組件要求

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

安裝方法

composer require easyswoole/fast-cache

倉庫地址

easyswoole/fast-cache

基本使用

服務注冊

我們在EasySwoole全局的事件中進行注冊

use EasySwoole\FastCache\Cache;
Cache::getInstance()->setTempDir(EASYSWOOLE_TEMP_DIR)->attachToServer(ServerManager::getInstance()->getSwooleServer());

FastCache只能在服務啟動之后使用,需要有創建unix sock權限(建議使用vm,docker或者linux系統開發),虛擬機共享目錄文件夾是無法創建unix sock監聽的

客戶端調用

服務啟動后,可以在任意位置調用

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

相關方法

設置臨時目錄

  • public function setTempDir(string $tempDir): Cache

設置緩存進程數

  • public function setProcessNum(int $num): Cache

設置緩存進程所在服務名

  • public function setServerName(string $serverName): Cache

設置定時回調,可用于數據定時落地

  • public function setOnTick($onTick): Cache

設置定時回調間隔

  • public function setTickInterval($tickInterval): Cache

設置進程啟動回調,可以用于數據落地恢復

  • public function setOnStart($onStart): Cache

設置進程關閉回調,可以用于數據落地

  • public function setOnShutdown(callable $onShutdown): Cache

設置指定 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

清空所有進程的數據

  • public function flush(float $timeout = 1.0)

推入隊列

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

從隊列中取出

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

獲取隊列當前長度

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

釋放隊列

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

返回當前隊列的全部key名稱

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

清空所有隊列

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

設置一個key的過期時間

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

移除一個key的過期時間

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

查看某個key的ttl

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

將哈希表 key 中的字段 field 的值設為 value

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

獲取存儲在哈希表中指定字段的值

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

刪除一個哈希表字段

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

清空所有

  • function hFlush(float $timeout = 1.0)

獲取所有哈希表中的字段

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

迭代哈希表中的鍵值對

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

只有在字段 field 不存在時,設置哈希表字段的值

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

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

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

獲取哈希表中字段的數量

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

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

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

同時將多個 field-value對設置到哈希表 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)

落地重啟恢復數據方案

FastCache提供了3個方法,用于數據落地以及重啟恢復,在EasySwooleEvent.php中的mainServerCreate回調事件中設置以下方法:

設置回調要在注冊cache服務之前,注冊服務之后不能更改回調事件。

<?php

use EasySwoole\FastCache\Cache;
use EasySwoole\FastCache\CacheProcessConfig;
use EasySwoole\FastCache\SyncData;
use EasySwoole\Utility\File;

// 每隔5秒將數據存回文件
Cache::getInstance()->setTickInterval(5 * 1000);//設置定時頻率
Cache::getInstance()->setOnTick(function (SyncData $SyncData, CacheProcessConfig $cacheProcessConfig) {
    $data = [
        'data'  => $SyncData->getArray(),
        'queue' => $SyncData->getQueueArray(),
        'ttl'   => $SyncData->getTtlKeys(),
     // queue支持
        'jobIds'     => $SyncData->getJobIds(),
        'readyJob'   => $SyncData->getReadyJob(),
        'reserveJob' => $SyncData->getReserveJob(),
        'delayJob'   => $SyncData->getDelayJob(),
        'buryJob'    => $SyncData->getBuryJob(),
    ];
    $path = EASYSWOOLE_TEMP_DIR . '/FastCacheData/' . $cacheProcessConfig->getProcessName();
    File::createFile($path,serialize($data));
});

// 啟動時將存回的文件重新寫入
Cache::getInstance()->setOnStart(function (CacheProcessConfig $cacheProcessConfig) {
    $path = EASYSWOOLE_TEMP_DIR . '/FastCacheData/' . $cacheProcessConfig->getProcessName();
    if(is_file($path)){
        $data = unserialize(file_get_contents($path));
        $syncData = new SyncData();
        $syncData->setArray($data['data']);
        $syncData->setQueueArray($data['queue']);
        $syncData->setTtlKeys(($data['ttl']));
        // queue支持
        $syncData->setJobIds($data['jobIds']);
        $syncData->setReadyJob($data['readyJob']);
        $syncData->setReserveJob($data['reserveJob']);
        $syncData->setDelayJob($data['delayJob']);
        $syncData->setBuryJob($data['buryJob']);
        return $syncData;
    }
});

// 在守護進程時,php easyswoole.php stop 時會調用,落地數據
Cache::getInstance()->setOnShutdown(function (SyncData $SyncData, CacheProcessConfig $cacheProcessConfig) {
    $data = [
        'data'  => $SyncData->getArray(),
        'queue' => $SyncData->getQueueArray(),
        'ttl'   => $SyncData->getTtlKeys(),
         // queue支持
        'jobIds'     => $SyncData->getJobIds(),
        'readyJob'   => $SyncData->getReadyJob(),
        'reserveJob' => $SyncData->getReserveJob(),
        'delayJob'   => $SyncData->getDelayJob(),
        'buryJob'    => $SyncData->getBuryJob(),
    ];
    $path = EASYSWOOLE_TEMP_DIR . '/FastCacheData/' . $cacheProcessConfig->getProcessName();
    File::createFile($path,serialize($data));
});

Cache::getInstance()->setTempDir(EASYSWOOLE_TEMP_DIR)->attachToServer(ServerManager::getInstance()->getSwooleServer());

消息隊列支持

如具體查看消息隊列,請查看FastCacheQueue

亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频
  • <kbd id="eqi2k"><code id="eqi2k"></code></kbd><cite id="eqi2k"><tbody id="eqi2k"></tbody></cite>
    99国产精品自拍| 欧美日韩国产探花| 久久久久高清| 懂色av一区二区三区在线播放| 久热精品视频| 久久天天狠狠| 欧美激情偷拍| 91在线播放视频| 欧美精品久久| 欧美午夜一区| 97久久精品午夜一区二区| 免费精品视频一区二区三区| 亚洲欧洲一区二区在线观看| 亚洲精品无人区| 国产欧美日本在线| 国产精品v亚洲精品v日韩精品| 香蕉成人久久| 亚洲国产婷婷香蕉久久久久久99 | 日本一区美女| 日韩亚洲视频在线| 国产在线播放一区二区| 欧美在线高清| 成人3d动漫一区二区三区91| 最新不卡av| 91久久精品一区二区别| 无遮挡亚洲一区| 久久久久综合一区二区三区| 亚洲一区美女| 国产九色精品| 在线午夜精品| 日韩欧美亚洲v片| 久久精品盗摄| 在线免费高清一区二区三区| 热舞福利精品大尺度视频| 国产精品一区在线播放| 午夜一区二区三区| 国产91亚洲精品一区二区三区| 国产一区二区在线观看免费播放| 精品伦理一区二区三区| 在线综合视频| 欧美激情自拍| 视频一区二区精品| 狠狠久久综合婷婷不卡| 亚洲欧美日韩精品一区二区| 一区二区成人国产精品 | 中文字幕精品一区日韩| 国产伦精品一区二区三区高清版| 伊人久久久大香线蕉综合直播| 日韩免费av电影| 国产女人水真多18毛片18精品| 国产精品女主播一区二区三区| 亚洲日本无吗高清不卡| 久久久久国产精品视频| 91青青草免费在线看| 中文网丁香综合网| 亚洲福利国产| 欧美午夜a级限制福利片| 一区二区视频在线免费| 天堂社区 天堂综合网 天堂资源最新版 | 午夜亚洲精品| 亚洲精品四区| 91久久中文| 亚洲国产欧洲综合997久久| 欧美日韩国产三区| 红桃视频亚洲| 一本久道久久综合婷婷鲸鱼| 国产主播精品| 伊人久久综合| 亚洲免费高清| 国产精品久久国产三级国电话系列| 欧美午夜一区二区福利视频| 资源网第一页久久久| 亚洲欧美久久久久一区二区三区| 欧美精品欧美精品| 欧美一区二区三区精美影视| 日韩av高清| 亚洲一区精品视频| 国产精品99免费看| 亚洲精品1区2区| 久久精品日韩| 国产一区二区三区奇米久涩| 国产精品一区二区三区精品| 久久久久一区二区三区| 亚洲国产高清国产精品| 午夜欧美精品| 国产精品人人爽人人做我的可爱| 久久婷婷麻豆| 欧美日韩喷水| 女女同性女同一区二区三区91| 欧美激情第8页| 国产精品久久777777毛茸茸| 高清国产一区| 日韩高清专区| 亚洲国产导航| 99久久国产免费免费| 免费看国产精品一二区视频| 欧美一区二区三区四区夜夜大片| 亚洲精品一级| 精品国产乱码久久久久久丨区2区| 日韩欧美在线观看强乱免费| 国产一区视频观看| 99久热re在线精品996热视频| 久久精品国产一区二区三区不卡| 欧美在线播放| 999热视频| 在线成人性视频| 蜜桃久久精品乱码一区二区| 秋霞久久久久久一区二区| 亚洲黄色影院| 久久艳妇乳肉豪妇荡乳av| 欧美日韩免费| 999国产在线| 欧美激情一区| 精品乱码一区二区三区| 国产主播一区| 蜜桃网站成人| 国产精品老牛| 亚洲看片网站| 波多野结衣久草一区| 中文字幕成人一区| 超碰97人人在线| 欧美日韩一区二区三区免费| 国产99午夜精品一区二区三区| 欧美日韩高清在线一区| 国产亚洲欧美另类一区二区三区| 欧美va天堂| 精品国产一区二区三| 99re国产精品| 视频一区二区三区在线观看| 午夜在线a亚洲v天堂网2018| 正在播放精油久久| 精品在线不卡| 老牛嫩草一区二区三区日本 | 美女精品在线观看| 欧美激情aⅴ一区二区三区| 国产精品麻豆免费版| 一本久道综合久久精品| 亚洲一区二区三区色| 九色91视频| 国产精品久久波多野结衣| 一级成人国产| 国模大胆一区二区三区| 亚洲精品国产精品国自产| 精品欧美日韩在线| 久久综合中文色婷婷| 亚洲第一伊人| 欧美日韩亚洲一区在线观看| 欧美日韩在线精品一区二区三区| a级国产乱理论片在线观看99| 99视频国产精品免费观看| 午夜精品久久久久99热蜜桃导演| 免费影院在线观看一区| 国产日韩欧美二区| 成人欧美一区二区三区视频xxx| 国产欧美日韩综合精品二区| 国产精品草草| 国产精品高清一区二区三区| 中文字幕中文字幕一区三区| 日韩在线导航| 四虎永久在线精品免费一区二区| 免费电影一区| 日韩.欧美.亚洲| 亚洲成人a**址| 水蜜桃一区二区| 一区二区三区久久网| 亚洲精品在线免费看| 亚洲aⅴ天堂av在线电影软件| 久久99精品国产99久久| 麻豆精品传媒视频| 日本黑人久久| 欧美一区二区三区四区夜夜大片 | 国产激情一区二区三区在线观看 | dy888夜精品国产专区| 久久久精品网| 国产99在线免费| 精品乱子伦一区二区三区| 久久亚裔精品欧美| 亚洲国产精品123| 一本色道婷婷久久欧美| 欧美特黄a级高清免费大片a级| 韩日精品在线| 亚洲国产午夜| 亚洲欧美日本国产专区一区| 久久黄色网页| 久久久www免费人成黑人精品| 欧美专区一二三 | 动漫美女被爆操久久久| 久久99精品久久久久久水蜜桃| 蜜桃av噜噜一区二区三| 亚洲国产欧美一区二区三区不卡| 欧美福利一区| 国产精品综合| 久久99精品久久久久久青青日本| 日韩欧美第二区在线观看| 欧美日本不卡高清| 国产欧美一级| 欧美精品国产精品久久久| 影音先锋亚洲视频| 亚洲欧美成人| 天堂资源在线亚洲视频|