批量读写 Redis 慢,用 pipeline 把往返次数压下来

逐条命令等于每条一次网络往返,几百个 key 就卡在等回包上。

pipeline 把一批命令攒起来一次发出,只花一个往返时间。

各语言客户端都支持,攒够一批再执行,别单条发。

注意它不保证原子性,要原子的场景用事务或多键命令。

# Python redis-py
pipe = r.pipeline(transaction=False)
for k, v in items:
    pipe.set(k, v)
pipe.execute()          # 一次往返

# 批量取值
pipe = r.pipeline()
for k in keys:
    pipe.get(k)
vals = pipe.execute()
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容