1 Star 0 Fork 17

fanpq/robotphp

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
RedisChat.php 1.14 KB
一键复制 编辑 原始数据 按行查看 历史
黄超h 提交于 2023-06-06 14:44 . 提交代码
<?php
declare(strict_types=1);
use Swoole\Coroutine;
use Swoole\Database\RedisConfig;
use Swoole\Database\RedisPool;
use Swoole\Runtime;
Runtime::enableCoroutine();
$s = microtime(true);
Coroutine\run(function () {
$pool = new RedisPool((new RedisConfig)
->withHost('127.0.0.1')
->withPort(6379)
->withAuth('')
->withDbIndex(0)
->withTimeout(1),1000
);
Coroutine::create(function () use ($pool) {
while (1) {
$redis = $pool->get();
$data_pop = $redis->blPop("cdr", 3);//无任务时,阻塞等待
echo '运行后内存:' . memory_get_usage() . PHP_EOL;
$pool->put($redis);
if (!$data_pop) {
continue;
}
if ($this->child < $this->maxProcesses) {
$this->child++;
$process = new swoole_process([$this, 'process']);
$process->write(json_encode($data_pop));//写入到swoole_process进程中
$pid = $process->start();//进程启动
}
}
});
});
$s = microtime(true) - $s;
echo 'Use ' . $s . 's for queries' . PHP_EOL;
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
PHP
1
https://gitee.com/fanpq/robotphp.git
git@gitee.com:fanpq/robotphp.git
fanpq
robotphp
robotphp
master

搜索帮助