Redis是一个TCP服务器,支持请求/响应协议。 在Redis中,请求通过以下步骤完成:

客户端向服务器发送查询,并从套接字读取,通常以阻塞的方式,用于服务器响应。
服务器处理命令并将响应发送回客户端。
如果需要一次执行多个redis命令,以往的方式需要发送多次命令请求,有redis服务器依次执行,并返回结果,

为了解决此类问题,设计者设计出了redis管道命令:

客户端可以向服务器发送多个请求,而不必等待回复,并最终在一个步骤中读取回复,从而大大增加了协议性能
代码示例:

redis版本是

<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$pipe = $redis->multi(Redis::PIPELINE);
for ($i = 0; $i < 3; $i++) {
    $key = "key::{$i}";
    print_r($pipe->set($key, str_pad($i, 2, '0', 0)));
    echo PHP_EOL;
    print_r($pipe->get($key));
    echo PHP_EOL;
}
$result = $pipe->exec();
print_r($result);
参数说明:
Redis::MULTI或Redis::PIPELINE. 默认是 Redis::MULTI
Redis::MULTI:将多个操作当成一个事务执行
Redis::PIPELINE:让(多条)执行命令简单的,更加快速的发送给服务器,但是没有任何原子性的保证

结果如下图,可以看出每次执行set/get命令,并没有被redis服务器立即执行,执行结果被放在了最后的result中

--------------------- 
作者:陌上青苔 
来源:CSDN 
原文:https://blog.csdn.net/weijianfengyu/article/details/62891813?utm_source=copy 
版权声明:本文为博主原创文章,转载请附上博文链接!

来源:https://blog.csdn.net/weijianfengyu/article/details/62891813

PHP中Redis管道相关推荐

  1. .NET客户端实现Redis中的管道(PipeLine)与事物(Transactions)(八)

    序言 Redis中的管道(PipeLine)特性:简述一下就是,Redis如何从客户端一次发送多个命令,服务端到客户端如何一次性响应多个命令. Redis使用的是客户端-服务器模型和请求/响应协议的T ...

  2. Redis 管道技术

    Redis 管道技术 Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务.这意味着通常情况下一个请求会遵循以下步骤: 客户端向服务端发送一个查询请求,并监听Socket返回,通常是以 ...

  3. php redis 管道技术,Redis管道技术这么厉害,你都用对了吗

    Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务.这意味着通常情况下一个请求会遵循以下步骤: 客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响 ...

  4. 雷林鹏分享:Redis 管道技术

    Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务.这意味着通常情况下一个请求会遵循以下步骤: 客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响 ...

  5. Redis管道(Pipeline)详解

    在讲解管道前,我们首先来了解一下redis的交互,redis的一次交互是由客户端发起,由服务端接收,那么我们连续操作一些指令,如下图所示: 客户端请求一个指令到服务器到服务器返回数据这个过程非常复杂, ...

  6. 探讨 | 深入探讨Redis管道

    HI !我是小小,我们来到了这期-深入探讨Redis管道. Redis消息交互 当我们使用客户端对Redis进行一次操作时,客户端会把请求传送给服务器,服务器处理完成以后,再把响应恢复给客户端,这要花 ...

  7. Redis管道技术的使用

    目录 Redis 管道技术 SpringDataRedis 使用管道 Redis 管道的性能测试 使用管道技术的注意事项 代码示例 Redis 管道技术 Redis是一种基于客户端-服务端模型(C/S ...

  8. Redis管道Pipelining原理详解

    请求/响应协议和RTT Redis是一种基于客户端-服务端模型及请求/响应协议的TCP服务. 这意味着一个请求会遵循以下步骤: 客户端向服务端发送一个查询请求,并监听Socket返回,通常以阻塞模式, ...

  9. 9.Redis 管道(pipe mode)

    Redis 2.6 开始 redis-cli 支持一种新的被称之为 pipe mode(管道)的新模式用于大量数据插入工作. Redis 中的管道技术是指:Redis Pipelining,用于提高 ...

最新文章

  1. 美军重视扩展现实技术的研究和应用
  2. 请列举你了解的分布式锁_面试官想要你回答的分布式锁实现原理
  3. centos6 升级gcc / 无法识别的命令行选项“-std=gnu++1y”的解决办法
  4. ffmpeg参数说明
  5. 函数模块:POPUP_TO_INFORM
  6. [codevs 1514] 书架
  7. 排序学习(LTR)经典算法:RankNet、LambdaRank和LambdaMart
  8. 【英语学习】【医学】Unit 08 The Cardiovascular System
  9. [转载]各种图像处理类库的比较及选择(The Comparison of Image Processing Libraries)
  10. Team Leader 究竟要不要写代码?
  11. 把海水变得更蓝更透!关键在调整-曝光度
  12. 码斗士的修炼之路 -- 如何保持并提升战斗力
  13. Java解P2678 [NOIP2015 提高组] 跳石头,有图有注释,通俗易懂
  14. 新版手机离线地图GPS定位程序
  15. MeteoInfoLab脚本示例:获取气团轨迹每个节点的气象数据
  16. 憨猴科技“分布式运营系统“荣登世界互联网大会
  17. 同时查询中通快运多个单号物流,并分析派件时效
  18. Cocos Creator 调试入门
  19. loopback interface data flow
  20. matlab 图像仿射做差分,基于MATLAB的等差分纬线多圆锥投影变换

热门文章

  1. 去掉字符串中的单引号和双引号_同时搞定Android和iOS的Dart语言(4):字符串类型...
  2. pandas读取文件——CSV,Excel
  3. 「Python-Bug」错误requests.exceptions.proxyerror: httpsconnectionpool解决方法
  4. 安装OpenLDAP
  5. 2.4-2.5、Hive整合(整合Spark、整合Hbase)、连接方式Cli、HiveServer和hivemetastore、Squirrel SQL Client等
  6. ES分布式机制的透明性,垂直扩容和水平扩容,数据rebalance,master节点,节点平等的分布式架构,shard和replica机制(学习)
  7. 01-java基础加强,eclipse工具使用,快捷键,断点调试,单元测试,jdk5新特性,增强for循环,集合map,list,可变参数,枚举,反射,泛型
  8. mariadb CTE示例
  9. 中序遍历的模板(以及变形更新中。。。)
  10. OpenCV形态学变换函数morphologyEx()开运算的使用