Redis 中的 流水线与事务 流水线( 二 )


示例:使用流水线优化随机键创建程序
在第11章中的数据库取样程序示例中,曾经展示过代码清单13-1所示的 程序,它可以根据用户给定的数量创建多个类型随机的数据库键 。
通过分析代码可知,这个程序每创建一个键,redis-py客户端就需要与 Redis服务器进行一次网络通信:考虑到这个程序执行的都是一些非常 简单的命令,每次网络通信只执行一个命令的做法无疑是非常低效的 。为了解决这个问题,我们可以使用流水线把程序生成的所有命令都包裹 起来,这样的话,创建多个随机键所需要的网络通信次数就会从原来的 N次降低为1次 。代码清单13-2展示了修改之后的流水线版本随机键创建 程序 。
即使只在本地网络中进行测试,新版的随机键创建程序也有5倍的性能 提升 。当客户端与服务器处于不同的网络之中,特别是它们之间的连接 速度较慢时,流水线版本的性能提升还会更多 。
参考目录
绝大多数 内容来自 Redis使用手册 (黄健宏 著) 第13章 流水线与事务