默认情况下,redis 的 multi 命令是 Redis::MULTI 的方式将命令逐条发给redis服务端,这个方式的好处就是可以保证发给redis的一系列命令以原子方式执行。但缺点也相当明显,效率比较低。所以,如题主所问,redis的 multi 也提供了 pipeline 的方式发送,只要 设置 Redis::PIPELINE 的方式就可以了 $multi = $redis->multi(Redis::PIPELINE); 使用了 pipeline 就不能保证原子性,所以针对业务场景再选择使用哪种方式。
默认情况下,
redis
的multi
命令是Redis::MULTI
的方式将命令逐条发给redis服务端,这个方式的好处就是可以保证发给redis的一系列命令以原子方式执行。但缺点也相当明显,效率比较低。所以,如题主所问,
redis
的multi
也提供了pipeline
的方式发送,只要 设置Redis::PIPELINE
的方式就可以了使用了 pipeline 就不能保证原子性,所以针对业务场景再选择使用哪种方式。