Pipeline 优化往返
它把多条命令攒成一批发送,核心收益是少等网络;这件事本身不承诺其他客户端不能插队。
把命令想成货物:Pipeline 是把货物装上同一辆车,事务是给卸货区加一道闸门,WATCH 则会在开闸前核对封条。装车更省往返,但不会凭空得到原子性。
这里不是性能压测。总时间只按“网络往返耗时 × 往返次数 + 每条命令固定 2 毫秒”计算,用来比较结构,不代表任何真实 Redis 实例。
它把多条命令攒成一批发送,核心收益是少等网络;这件事本身不承诺其他客户端不能插队。
队列里的某条命令在运行期报错,其他已经执行或仍可执行的命令不会因此恢复原状。
被监视的键在 EXEC 前变化,事务会放弃提交。客户端要重新读取、重新判断并主动重试。
库存初始为 1。按“下一步”让两个客户端读、写、提交,看看只做批量发送和使用 WATCH 的结果为什么不同。
尚未读取库存
尚未读取库存