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(); } }
相關文章
相關標籤/搜索