Swoole-1.8.14版本增加一個(gè)兼容Redis服務(wù)器端協(xié)議的Server框架,可基于此框架實(shí)現(xiàn)Redis協(xié)議的服務(wù)器程序。Swoole\Redis\Server
繼承自Swoole\Server
,可調(diào)用父類(lèi)提供的所有方法。
Redis\Server
不需要設(shè)置onReceive
回調(diào)。實(shí)例程序:https://github.com/swoole/swoole-src/blob/master/examples/redis/server.php
redis-cli
、redis-benchmark
Swoole-1.8.0
版本增加了對(duì)異步Redis客戶端的支持,基于redis官方提供的hiredis庫(kù)實(shí)現(xiàn)。Swoole提供了__call
魔術(shù)方法,來(lái)映射絕大部分Redis指令。使用Redis客戶端,需要安裝hiredis庫(kù)。下載hiredis
源碼后,執(zhí)行
make -j
sudo make install
sudo ldconfig
編譯swoole是,在configure
指令中加入--enable-async-redis
./configure --enable-async-redis
make clean
make -j
sudo make install
$redis = new Swoole\Redis;
$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 Swoole\Http\Client('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);
});
});
更多建議: