首页 > PHP技术 > php中级 > PHP实现redis的批量操作命令pipeline
2020
03-18

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



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();
    }
}

扫码芷若 获取免费视频学习资料

编程学习

查 看2019高级编程视频教程免费获取