REDIS04_管道的概念、案列演示、管道总结

文章目录

  • [①. 管道(pipeline)概念](#①. 管道(pipeline)概念)
  • [②. 管道案列演示](#②. 管道案列演示)
  • [③. 管道命令总结](#③. 管道命令总结)

①. 管道(pipeline)概念

  • ①. 管道(pipeline)可以一次性发送多条命令给服务端,服务端依次处理完完毕后,通过一条响应一次性将结果返回,通过减少客户端与redis的通信次数来实现降低往返延时时间。 pipeline实现的原理是队列,先进先出特性就保证数据的顺序性
  1. Pipeline是为了解决RTT往返回时,仅仅是将命令打包一次性发送,对整个Redis的执行不造成其它任何影响
  2. Round Trip Time(简称RTT,数据包往返于两端的时间)

②. 管道案列演示

③. 管道命令总结

  • ①. Pipeline与原生批量命令对比
  1. 原生批量命令是原子性(例如:mset, mget),pipeline是非原子性
  2. 原生批量命令一次只能执行一种命令,pipeline支持批量执行不同命令
  3. 原生批命令是服务端实现,而pipeline需要服务端与客户端共同完成
  • ②. 使用Pipeline注意事项
  1. pipeline缓冲的指令只是会依次执行,不保证原子性 ,如果执行中指令发生异常,将会继续执行后续的指令
  2. 使用pipeline组装的命令个数不能太多,不然数据量过大客户端阻塞的时间可能过久,同时服务端此时也被迫回复一个队列答复,占用很多内存
相关推荐
卧室小白12 小时前
Redis-哨兵模式
数据库·redis·缓存
卧室小白12 小时前
redis-配置
数据库·redis·缓存
sthnyph14 小时前
docker compose安装redis
redis·docker·容器
KmSH8umpK15 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第六篇
数据库·redis·分布式
KmSH8umpK17 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第四篇
数据库·redis·分布式
Lyyaoo.18 小时前
缓存更新策略
缓存
KmSH8umpK18 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第五篇
数据库·redis·分布式
AI进化营-智能译站18 小时前
ROS2 C++开发系列08-传感器数据缓存与指令解析方式之数组、向量与字符串实战
开发语言·c++·缓存·ai