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组装的命令个数不能太多,不然数据量过大客户端阻塞的时间可能过久,同时服务端此时也被迫回复一个队列答复,占用很多内存
相关推荐
重学一遍11 小时前
Spring Security + JWT + Redis 的认证授权系统
java·redis·spring
qq_3181215911 小时前
互联网大厂Java面试故事:在线教育微服务架构、缓存优化与AI智能教学全流程解析
java·spring boot·redis·微服务·kafka·spring security·在线教育
alonewolf_9914 小时前
Redis 7.X 部署指南:单机、主从、哨兵、集群
redis·分布式架构
難釋懷16 小时前
Redis 通用命令
数据库·redis·缓存
hanqunfeng16 小时前
(九)Redis 命令及数据类型 -- Set
数据库·redis·bootstrap
编程大师哥17 小时前
如何在C++中使用Redis的事务功能?
开发语言·c++·redis
2401_zq136y0317 小时前
Flutter for OpenHarmony:从零搭建今日资讯App(二十七)图片缓存的完整方案
flutter·缓存
wregjru17 小时前
【C++】2.10智能指针详解
数据库·redis·mysql
2401_8582861117 小时前
从Redis 8.4.0源码看快速排序(1) 宏函数min和swapcode
c语言·数据库·redis·缓存·快速排序·宏函数
hanqunfeng18 小时前
(一)Redis 7 + ACL 单节点、主从、哨兵、集群构建方法
redis