都说 Pipeline 有很大好处,但是能量是守恒的,好坏也是相对的。
所以我们主要来测试看看 Pipeline 的利弊。
带着几个问题我们来进行基本的测试。
1. Pipeline 对命令数量是否有限制?
2. Pipeline 打包执行多少命令合适?
3. Pipeline 批量执行的时候,是否对Redis进行了锁定,导致其他应用无法再进行读写?
Redis 常规使用方式
我们都知道Redis 是单线程的,那么在常规使用情况下,我们使用 Redis ,如下代码执行是什么流程呢?
$key1 = "abc1";
$key2 = "abc2";
$key3 = "abc3";
$redisObj->set($key1, 1);
$redisObj->set($key2, 2);
$redisObj->set($key3, 3);
Redis 的执行方式是逐条命令:
发送命令->执行->返回执行结果。
如图: