重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
redis pipe管道
创新互联公司专注于网站建设,为客户提供成都网站建设、做网站、网页设计开发服务,多年建网站服务经验,各类网站都可以开发,高端网站设计,公司官网,公司展示网站,网站设计,建网站费用,建网站多少钱,价格优惠,收费合理。redis命令在从提交到返回处理结果的过程中,消耗的时间我们称之为RTT(往返时间)。
在需要批量执行redis 命令的场景下,如果命令单条逐个执行,那么总共花费的时间是命令条数 N * RTT。
redis 提供了管道技术来提高批量执行效率,即将多个命令打包发送给redis服务端,所有命令执行完后,再将所有结果打包返回。
在所有命令执行结束前,redis服务器会缓存已执行结束的结果。
在redis-cli命令行中,
使用redis管道技术时,我们通常将待执行的命令放到一个文本里,比如commands.txt,然后使用命令:
cat commands.txt | redis-cli --pipe
去读取文本里的命令,然后打包已pipe管道的方式发送给redis服务端。
如果命令需要带参数,我们可以根据redis官方提供的命令协议格式:
*
$
...
$
额,上面这段是不是很烦?是的,其实没有这么复杂,你可以直接将多个redis命令写到一个文件commands.txt里,记住是每个命令占一行。
然后执行:cat commands.txt |redis-cli --pipe
以管道方式执行。
你以为就万事大吉了?no!你很可能会遇到这个错误:
ERR unknown command 'et'
即执行了第一条命令,剩下的都报错了。原因是redis-cli中只支持dos格式的换行符 \r\n ,因此你需要对文件进行转码:unix2dos commands.txt
然后再执行上面的命令。
附:安装unix2dos:
macOS:
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。