Swoole Redis Server实例

Swoole RedisServer异步客户端介绍

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

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

可用的客户端

  • 任意编程语言的redis客户端,包括PHP的redis扩展和phpredis库
  • Swoole扩展提供的异步Redis客户端
  • Redis提供的命令行工具,包括redis-cliredis-benchmark
注意:Swoole-1.8.0版本增加了对异步Redis客户端的支持,基于redis官方提供的hiredis库实现。Swoole提供了__call魔术方法,来映射绝大部分Redis指令。

编译安装hiredis

使用Redis客户端,需要安装hiredis库。下载hiredis源码后,执行

make -j
sudo make install
sudo ldconfig

启用异步Redis客户端

编译swoole是,在configure指令中加入--enable-async-redis

./configure --enable-async-redis
make clean
make -j
sudo make install

简单实例:

$redis = new SwooleRedis;
$redis->connect(127.0.0.1, 6379, function ($redis, $result) {
    $redis->set(test_key, value, function ($redis, $result) {
        $redis->get(test_key, function ($redis, $result) {
            var_dump($result);
        });
    });
});

$cli = new SwooleHttpClient(127.0.0.1, 80);
$cli->setHeaders(array(User-Agent => swoole-http-client));
$cli->setCookies(array(test => value));

$cli->post(/dump.php, array("test" => abc), function ($cli) {
    var_dump($cli->body);
    $cli->get(/index.php, function ($cli) {
        var_dump($cli->cookies);
        var_dump($cli->headers);
    });
});

作者:admin,如若转载,请注明出处:https://www.web176.com/swoole/17102.html

(0)
打赏 支付宝 支付宝 微信 微信
adminadmin
上一篇 2023年4月25日
下一篇 2023年4月25日

相关推荐

发表回复

登录后才能评论