逐条命令等于每条一次网络往返,几百个 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






暂无评论内容