亚洲精品成人_精品成人一区_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九九视频| 亚洲一区在线免费| 狠狠噜噜久久| 一区二区三视频| 午夜一区二区三区| 久久婷婷开心| 久久久com| 精品国产综合区久久久久久| 高清免费日韩| 成人在线看片| 国产激情一区二区三区在线观看| 性伦欧美刺激片在线观看| 国内精品久久久久久久果冻传媒| 午夜精品免费| 欧美高清日韩| 欧美三级视频| 五月天亚洲综合情| 亚洲国产日韩综合一区| 日本高清视频一区二区三区| 欧美日韩亚洲综合一区二区三区激情在线 | 国产色综合一区二区三区| 美日韩精品免费| 免费在线国产精品| 成人自拍网站| 精品国产日本| 翔田千里亚洲一二三区| 一区二区高清视频| 欧美日韩国产高清视频| 亚洲国产欧美日韩| 亚洲欧美春色| 产国精品偷在线| 久久综合伊人77777麻豆| 色狠狠久久av五月综合| 在线不卡日本| 亚洲精品九九| 99re视频在线播放| 蜜桃传媒视频麻豆一区| 亚洲高清不卡一区| 黄色欧美日韩| 99国产超薄肉色丝袜交足的后果| 激情欧美一区二区三区中文字幕| 欧美福利一区二区三区| 日韩影片在线播放| 国产精品国色综合久久| 免费永久网站黄欧美| 久久久久久高清| 欧美在线1区| 亚洲制服少妇| 欧美精品123| 亚洲天堂偷拍| 国产精品一区视频| 在线视频精品一区| 国产日韩三区| 久久偷看各类wc女厕嘘嘘偷窃 | 日韩午夜在线| 精品乱子伦一区二区三区| 四虎永久国产精品| 亚洲一区二区精品在线观看| 国产a一区二区| 欧美黄色aaaa| 不卡一区二区三区视频| 欧美大片专区| 国产传媒一区二区三区| 欧美日韩福利| 国产一区二区免费在线观看| 欧美天堂亚洲电影院在线观看| 97久草视频| 一区二区日本| www国产亚洲精品| 国产精品国产精品| 宅男av一区二区三区| 中文字幕一区综合| 亚洲一区二区三区高清不卡| 欧美一区国产一区| 欧美在线黄色| 亚洲国产精品日韩| 国色天香一区二区| 国产三区精品| 一区二区亚洲| 亚洲精品欧洲| 久久99导航| 一区二区国产精品| 动漫精品视频| 伊人久久大香线蕉av一区| 国产精品播放| 欧美日韩综合网| 懂色一区二区三区av片| 欧美一区二区三区久久精品茉莉花| 在线丝袜欧美日韩制服| 亚洲精品视频啊美女在线直播| 久久久水蜜桃| 五月天色一区| 99久久综合狠狠综合久久止| 国产日韩在线一区二区三区| 噜噜噜躁狠狠躁狠狠精品视频| 欧美韩国日本精品一区二区三区| 高清国产在线一区| 久久久久久久有限公司| 日韩中文一区二区三区| 欧美日本一区| 久久免费99精品久久久久久| 久久99国产精品| 亚洲精品在线二区| 日本在线视频不卡| 久久国产精品久久精品国产| 国产一区二区三区的电影| 99精彩视频在线观看免费| 亚洲黄色大片| av不卡免费看| 国产三区精品| 日韩福利视频| 亚洲精品无人区| 免费日韩电影在线观看| 国产一区日韩欧美| 精品久久精品久久| 在线免费观看欧美| 色播五月综合| 精品日本一区二区三区| 亚洲国产日韩综合一区| 欧美高清视频一区二区三区在线观看| 欧美阿v一级看视频| 91精品国产一区二区三区动漫| 一区二区三区av| 精品国产乱码久久久久久郑州公司| 精品成人免费| 日韩一区免费观看| 蜜桃麻豆91| 高清视频一区二区三区| 一区二区免费在线视频| 影音先锋在线亚洲| 水蜜桃一区二区三区| 久久av一区二区三区亚洲| 精品一区二区视频| av激情久久| 欧美系列一区| 国产一区成人| 福利视频久久| 欧美高清不卡| 福利视频一区二区三区| 青青草成人网| 日韩精品无码一区二区三区| 亚洲一区国产| 亚洲国产综合自拍| 鲁鲁视频www一区二区| 国产一区二区三区高清视频| 国产精品一区二区欧美| 国产精品嫩草在线观看| 老司机免费视频久久| 久久综合一区| 中文字幕一区二区中文字幕| 狠狠色综合色区| 国产一区二区三区成人欧美日韩在线观看| 精品久久久久久中文字幕动漫 | 亚洲精品一区二区三区蜜桃久| 国产乱码精品一区二区三区中文| 51成人做爰www免费看网站| 亚洲伊人网站| 久久综合中文色婷婷| 久久久com| 影音先锋国产精品| 精品视频免费观看| 狠色狠色综合久久| 极品校花啪啪激情久久| 亚洲视频高清| 久久综合一区| 六十路精品视频| 欧美一区二区三区在线播放 | 亚洲国产二区| 欧美日韩视频在线一区二区观看视频| 亚洲午夜精品一区二区三区| 国产精品乱码| 你懂的一区二区| 国产富婆一区二区三区| 亚洲欧洲一区二区天堂久久| 久久久久久国产精品免费免费| 国产视频欧美| 欧美成人一品| 欧美综合77777色婷婷| 一本一本久久a久久精品综合妖精| 夜夜春亚洲嫩草影视日日摸夜夜添夜| 久久亚洲电影| 国产乱人伦精品一区二区| 女主播福利一区| 日韩中文字幕一区二区| 久久精品aaaaaa毛片| 久久一区国产| 久久亚洲美女| 久久福利毛片| 成人免费视频观看视频| 校园激情久久| 国产精品播放| 国产精品麻豆免费版| www.成人三级视频| 国产精品日韩高清| 女同一区二区| 热re99久久精品国产99热| 五月天国产一区| 欧美日韩一视频区二区|