redis的批量操作命令pipeline(PHP实现)

redis执行一条命令有四个过程:发送命令、命令排队、命令执行、返回结果;整个过程是一个往返时间(RTT)。如果有n条命令,就会消耗n次RTT。Redis的客户端和服务端可能部署在不同的机器上。在两地的数据传输受网络速度的影响,消耗n次的RTT会增加网络成本,这个和Redis的高并发高吞吐特性背道而驰。
use Redis;

class RedisTest { const PORT = 6379; /** * redis对象 */ public $redis = null; public function __construct() { $this->redis = new Redis(); $this->redis->connect('127.0.0.1', self::PORT); } public function testPipeline() { $str_constant = get_class($this->redis) . '::PIPELINE'; if (!$str_constant) { return 'pipeline no exit'; } return $this->redis->pipeline()->publish('test', 'pipe-info')->exec(); } }

猜你喜欢

转载自www.cnblogs.com/setevn/p/11125573.html