PHP中Redis管道
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管道相关推荐
- .NET客户端实现Redis中的管道(PipeLine)与事物(Transactions)(八)
序言 Redis中的管道(PipeLine)特性:简述一下就是,Redis如何从客户端一次发送多个命令,服务端到客户端如何一次性响应多个命令. Redis使用的是客户端-服务器模型和请求/响应协议的T ...
- Redis 管道技术
Redis 管道技术 Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务.这意味着通常情况下一个请求会遵循以下步骤: 客户端向服务端发送一个查询请求,并监听Socket返回,通常是以 ...
- php redis 管道技术,Redis管道技术这么厉害,你都用对了吗
Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务.这意味着通常情况下一个请求会遵循以下步骤: 客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响 ...
- 雷林鹏分享:Redis 管道技术
Redis是一种基于客户端-服务端模型以及请求/响应协议的TCP服务.这意味着通常情况下一个请求会遵循以下步骤: 客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响 ...
- Redis管道(Pipeline)详解
在讲解管道前,我们首先来了解一下redis的交互,redis的一次交互是由客户端发起,由服务端接收,那么我们连续操作一些指令,如下图所示: 客户端请求一个指令到服务器到服务器返回数据这个过程非常复杂, ...
- 探讨 | 深入探讨Redis管道
HI !我是小小,我们来到了这期-深入探讨Redis管道. Redis消息交互 当我们使用客户端对Redis进行一次操作时,客户端会把请求传送给服务器,服务器处理完成以后,再把响应恢复给客户端,这要花 ...
- Redis管道技术的使用
目录 Redis 管道技术 SpringDataRedis 使用管道 Redis 管道的性能测试 使用管道技术的注意事项 代码示例 Redis 管道技术 Redis是一种基于客户端-服务端模型(C/S ...
- Redis管道Pipelining原理详解
请求/响应协议和RTT Redis是一种基于客户端-服务端模型及请求/响应协议的TCP服务. 这意味着一个请求会遵循以下步骤: 客户端向服务端发送一个查询请求,并监听Socket返回,通常以阻塞模式, ...
- 9.Redis 管道(pipe mode)
Redis 2.6 开始 redis-cli 支持一种新的被称之为 pipe mode(管道)的新模式用于大量数据插入工作. Redis 中的管道技术是指:Redis Pipelining,用于提高 ...
最新文章
- 美军重视扩展现实技术的研究和应用
- 请列举你了解的分布式锁_面试官想要你回答的分布式锁实现原理
- centos6 升级gcc / 无法识别的命令行选项“-std=gnu++1y”的解决办法
- ffmpeg参数说明
- 函数模块:POPUP_TO_INFORM
- [codevs 1514] 书架
- 排序学习(LTR)经典算法:RankNet、LambdaRank和LambdaMart
- 【英语学习】【医学】Unit 08 The Cardiovascular System
- [转载]各种图像处理类库的比较及选择(The Comparison of Image Processing Libraries)
- Team Leader 究竟要不要写代码?
- 把海水变得更蓝更透!关键在调整-曝光度
- 码斗士的修炼之路 -- 如何保持并提升战斗力
- Java解P2678 [NOIP2015 提高组] 跳石头,有图有注释,通俗易懂
- 新版手机离线地图GPS定位程序
- MeteoInfoLab脚本示例:获取气团轨迹每个节点的气象数据
- 憨猴科技“分布式运营系统“荣登世界互联网大会
- 同时查询中通快运多个单号物流,并分析派件时效
- Cocos Creator 调试入门
- loopback interface data flow
- matlab 图像仿射做差分,基于MATLAB的等差分纬线多圆锥投影变换
热门文章
- 去掉字符串中的单引号和双引号_同时搞定Android和iOS的Dart语言(4):字符串类型...
- pandas读取文件——CSV,Excel
- 「Python-Bug」错误requests.exceptions.proxyerror: httpsconnectionpool解决方法
- 安装OpenLDAP
- 2.4-2.5、Hive整合(整合Spark、整合Hbase)、连接方式Cli、HiveServer和hivemetastore、Squirrel SQL Client等
- ES分布式机制的透明性,垂直扩容和水平扩容,数据rebalance,master节点,节点平等的分布式架构,shard和replica机制(学习)
- 01-java基础加强,eclipse工具使用,快捷键,断点调试,单元测试,jdk5新特性,增强for循环,集合map,list,可变参数,枚举,反射,泛型
- mariadb CTE示例
- 中序遍历的模板(以及变形更新中。。。)
- OpenCV形态学变换函数morphologyEx()开运算的使用