特点:一次性发送多条数据,一次性将结果返回
管道pipeline
可以一次性发送多条命令并在执行完后一次性将结果返回。
pipeline通过减少客户端与Redis的通信次数来实现降低往返延时时间。
实现的原理
实现的原理是队列。
Client可以将三个命令放到一个tcp报文一起发送。
Server则可以将三条命令的处理结果放到一个tcp报文返回。
队列是先进先出,这样就保证数据的顺序性。
# 管道 3步
# ① 新建一个管道
pipeline=redis_cli.pipeline()
# ② 管道收集指令
# 5. 保存短信验证码
pipeline.setex(mobile, 300, sms_code)
# 添加一个发送标记.有效期 60秒 内容是什么都可以
pipeline.setex('send_flag_%s' % mobile, 60, 1)
# ③ 管道执行指令
pipeline.execute()