Categories: Swoole 教程

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

这个人很懒,什么都没有留下~

Share
Published by
admin

Recent Posts

聊聊vue3中的defineProps

在Vue 3中,defineP…

1 周 ago

在 Chrome 中删除、允许和管理 Cookie

您可以选择删除现有 Cooki…

2 周 ago

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

3 周 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

4 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

1 月 ago

Vue3:手动清理keep-alive组件缓存的方法

Vue3中手动清理keep-a…

1 月 ago