• Redis\Server
    • 可用的客户端
    • 协程

    Redis\Server

    Swoole-1.8.14版本增加一个兼容Redis服务器端协议的Server框架,可基于此框架实现Redis协议的服务器程序。Swoole\Redis\Server继承自Swoole\Server,可调用父类提供的所有方法。

    Redis\Server不需要设置onReceive回调。实例程序:https://github.com/swoole/swoole-src/blob/master/examples/redis/server.php

    可用的客户端

    • 任意编程语言的redis客户端,包括PHP的redis扩展和phpredis库
    • Swoole扩展提供的异步Redis客户端
    • Redis提供的命令行工具,包括redis-cliredis-benchmark

    协程

    2.0协程版本中,无法使用return返回值的方式发送响应结果。应当使用$server->send方法发送数据。

    1. use Swoole\Redis\Server;
    2. use Swoole\Coroutine\Redis;
    3. $serv = new Server('0.0.0.0', 10086, SWOOLE_PROCESS, SWOOLE_SOCK_TCP);
    4. $serv->setHandler('set', function ($fd, $data) use ($serv) {
    5. $cli = new Redis;
    6. $cli->connect('0.0.0.0', 6379);
    7. $cli->set($data[0], $data[1]);
    8. $serv->send($fd, Server::format(Server::INT, 1));
    9. });
    10. $serv->start();