点击上方蓝色字体,选择“设为星标”
回复”资源“获取更多资源
点击右侧关注,大数据开发领域最强公众号!
点击右侧关注,暴走大数据!
Redis默认每次执行请求都会创建和断开一次连接池的操作,如果想执行多条命令的时候会在这件事情上消耗过多的时间,因此我们可以使用Redis的管道来一次性发送多条命令并返回多个结果,节约发送命令和创建连接的时间提升效率。
介绍
在前面我们介绍过Redis的事务和lua脚本操作,事实上在各语言版本的Redis中都有管道(Pipeline)的功能,本篇以python版作为示例,当我们使用python给redis发送命令时会经历下面的步骤:
客户端发送请求,获取socket,阻塞等待返回;
服务端执行命令并将结果返回给客户端;
而当执行的命令较多时,这样的一来一回的网络传输所消耗的时间被称为RTT(Round Trip Time),显而易见,如果可以将这些命令作为一个请求一次性发送给服务端,并一次性将结果返回客户端,会节约很多网络传输的消耗,可以大大提升响应时间。
官网:https://redis.io/topics/pip