首页 > 数据库 >redis学习十八:redis管道

redis学习十八:redis管道

时间:2023-07-11 10:11:06浏览次数:41  
标签:原生 pipeline 十八 redis 命令 管道 服务端

如何优化频繁命令往返造成的性能瓶颈:管道可以一次性发送多条命令给服务端,服务端依次处理完毕后,

通过一条响应一次性将结果返回,通过减少客户端与redis的通信次数来实现降低往返延时时间,管道实现

的原理是队列,先进先出的特性就保证数据的顺序性。

管道定义:pipeline是为了解决rtt往返回时,仅仅是将命令打包一次性发送,对整个redis的执行不造成任何其他影响

批处理命令的变种优化措施,类似redis的原生批命令

实操:

 写一个txt记录命令,使用此命令,最后进入redis查看,能够获取对应key的vaule

 总结:

管道与原生批命令对比:

原生批量命令是原子性(如mset,mget),pipeline是非原子性

原生批量命令一次只能执行一种命令,pipeline支持批量执行不同命令

原生批命令是服务端实现,而pipeline需要服务端与客户端共同完成

注意事项:

pipeline缓冲的指令只是会依次执行,不保证原子性,如果执行中指令发生异常,将会继续执行后续的指令

使用pipeline组装的命令个数不能太多,不然数据量过大客户端阻塞的时间可能过久,同时服务端此时也被迫恢复一个队列答复,占用很多内存

 

标签:原生,pipeline,十八,redis,命令,管道,服务端
From: https://www.cnblogs.com/ssbxfsrm/p/17543108.html

相关文章

  • PHP+Redis消息队列
    调用方式$redis=RedisManager::getInstance();$queue=json_encode(['queue_id'=>$queueId,'question'=>$question],256);if($redis->LPush('QA_wecom',$queue))returnResult::Success();单例<?phpnamespaceapp\admin\com......
  • M1 安装redis 报错问题 {assert {[r memory usage key] < 42000}} proc ::test)
    macm1安装redis基本步骤官方下载安装包https://redis.io/download/然后解压 进入目录输入测试命令: sudomaketest没问题进行安装:sudomakeinstall安装成功redis-server启动redis服务redis-cli进行连接,接着按照key,value进行设置测试是否能正常set、get报错......
  • Redis为什么这么快之IO多路复用
    情景复现面试官:Redis为什么这么快?我:1.基于内存2.高效数据结构3.单线程4.IO多路复用面试官:那你讲讲Redis的IO多路复用模型是什么。我:哦,嗯,啊,呀...IO多路复用、文件描述符、用户态,内核态、哦。Redis的IO多路复用模型是什么I/O多路复用模型是什么?就是很多网络连接(多路),......
  • redis学习十七:redis事务
    概念:可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其他命令插入,不许加塞。1.单独的隔离操作redis的事务仅仅是保证事务里的操作会被连续独占的执行,redis命令执行是单线程架构,在执行完事务内所有指令前是不可能再去......
  • 使用Redis时的vm.overcommit_memory内存分配控制
    最近在使用Redis的时候遇到了linux系统中的vm.overcommit_memory参数设置,对此不是很了解,于是研究了一下,有了本文。 ===================================== 一个尝试,如何在内存中申请空间:>>>100000*400000*8/1024/1024/1024298.0232238769531 实际代码:importnumpyasnpx=np......
  • 第十八章 电功率
     18.1电能电功优酷:https://v.youku.com/v_show/id_XNTk3ODU2MzY4NA==.html    百度网盘:链接:https://pan.baidu.com/s/1v4pv_vaM_Z5RjCq_w3GA7Q  提取码:6666 18.2电功率优酷:https://v.youku.com/v_show/id_XNTk3ODU2Mzc3Mg==.html    百度网盘:链接:htt......
  • 基于redis的分布式锁
     1为什么要使用分布式锁的理解分布式架构图:例1:在电商业务采用分布式架构后,程序部署在3个tomcat容器中(1个tomcat容器代表一个服务器,3个tomcat可理解在北京上海深圳都有部署电商服务),成员变量A代表商品数量。在北京的Alice,上海的Bob,深圳的Tom,都分别发起了购买或取消iPhone12......
  • Redis 面试要点
    一、Redis主从服务器和集群服务器区别? 1)架构不同:Redis集群采用分布式储存模式,多节点同时提供读写服务,可横向扩展;   而Redis主从只有一个master节点,多个slave节点,只有master节点提供读写服务;2)数据完整性:Redis集群中如果任何一个节点故障,其它节点可以正常提供服务,保......
  • spring-data-redis2.3.9不支持redis6.2提供的GEOSEARCH命令
    <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><exclusions><exclusion><groupId>io.lettuce</groupId>......
  • Redis事务和持久化机制
    Redis031Redis事务Redis通过multi、exec、watch等命令实现事务功能。Redis的事务功能相对较弱,无法和关系型数据库的事务相媲美。1.1multi和exec命令语法:multi开始事务命令1命令2...exec 执行事务示例:127.0.0.1:6379>multi //开始事务OK127......