<?php
$redis = new Redis;
$redis->pconnect("127.0.0.1",6379);
//pipline 模式 不保证原子性
$pipline = $redis->multi(Redis::PIPELINE);
//使用redis操作 这里的操作实际上是把命令记录到客户端缓冲中
$pipline->set("a",1);
$pipline->set("b",2);
$pipline->set("c",3);
$pipline->set("d",4);
$pipline->set("e",5);
$pipline->del('b');
//执行 一次性发送命令到服务器 所以等于1次网络开销
$pipline->exec();
//multi 模式
$pipline = $redis->multi();//这里默认是multi模式 所以不传参即可
//使用redis操作 这里的操作会把命令一个个的传送到服务端 可以理解为放进一个事务块的队列里
$pipline->set("f",1);
$pipline->set("g",2);
$pipline->set("h",3);
$pipline->set("j",4);
$pipline->set("k",5);
$pipline->del('k');
//执行 之前记录的事务块里所有命令 但是因为之前发送的原因 其实是有5次网络开销
$pipline->exec();
$redis->close();
/**
* 摘抄一段 如何做选择
* Redis::MULTI方式会将命令逐条发给redis服务端。只有在需要使用事务时才选择Redis::MULTI方式,它可以保证发给redis的一系列命令以原子方式执行。但效率相应也是最低的。
* Redis::PIPELINE方式,可以将一系列命令打包发给redis服务端。如果只是为了一下执行多条redis命令,无需事物和原子性,那么应该选用Redis::PIPELINE方式。代码的性能会有大幅度提升!
*/