Swoole 是一個高性能的 PHP 異步網絡通信引擎,可以用于構建高并發服務器。要在 Swoole 中配置 Redis,您需要首先確保已經安裝了 Swoole 和 Redis 擴展。接下來,按照以下步驟進行配置:
mkdir swoole_redis_project
cd swoole_redis_project
php --ri swoole -S localhost:9501
pecl install redis
php.ini
文件,啟用 Redis 擴展:extension=redis.so
swoole_redis_server.php
),并在其中編寫以下代碼:<?php
// 引入 Swoole 和 Redis 類
require_once __DIR__ . '/vendor/autoload.php';
use Swoole\Server;
use Swoole\Coroutine\Redis;
// 創建一個 Swoole 服務器實例
$server = new Server('0.0.0.0', 9502);
// 添加一個處理 Redis 請求的異步協程函數
$server->on('Request', function (Server $server, $fd, $reactor_id, $data) {
// 創建一個 Redis 實例
$redis = new Redis();
// 連接到 Redis 服務器
$redis->connect('127.0.0.1', 6379);
// 解析請求數據
$request = json_decode($data, true);
// 根據請求類型執行相應的 Redis 命令
switch ($request['type']) {
case 'set':
$result = $redis->set($request['key'], $request['value']);
break;
case 'get':
$result = $redis->get($request['key']);
break;
case 'del':
$result = $redis->del($request['key']);
break;
default:
$result = ['error' => 'Invalid request type'];
break;
}
// 將結果發送回客戶端
$server->send($fd, json_encode($result));
});
// 啟動服務器
$server->start();
composer require swoole/swoole
php swoole_redis_server.php
現在,您的 Swoole Redis 服務器已經啟動并監聽在端口 9502 上。您可以使用任何支持 Redis 的客戶端(例如 redis-cli
或 PHP 的 Redis
類)連接到服務器并執行命令。