图解Redis,谈谈Redis的持久化,RDB快照与AOF日志( 三 )


(2)式等待服务端响应 。
服务端处理命令 , 并将结果返回给客户端 。
上面两步走 , 称为RTT , 数据往返于两端的时间 , Round Trip Time 。
如果需要执行大量命令 , 那么新的命令要等待上一个命令执行完毕才能执行 , 会频繁的调用系统IO , 频繁发送网络请求 , 同时需要Redis调用多次read()和write()系统方法 , 系统方法会将数据从用户态转移到内核态 , 性能不佳 。
2、注意事项(1)pipeline缓存的指令只会依此执行 , 不保证原子性 , 如果执行中发生异常 , 也会继续执行后面的指令 。
(2)使用pipeline组装的命令个数不能太多 , 不然可能会造成阻塞时间过长的现象 , 同时服务端也会被迫回复一个队列答复 , 占用过多内存 。
3、代码实战编写一个命令脚本 , 添加几个不同类型的数据 。
通过 cat run.txt | redis-cli -a 111111 --pipe 命令 , 体验Redis管道效果 。

图解Redis,谈谈Redis的持久化,RDB快照与AOF日志

文章插图
Redis管道
本文转载自微信公众号「哪吒编程」




推荐阅读