使用PIpeline的好处
- pipeline和linux的管道相似
cat /tmp/redisTest.txt | redis-cli -h [127.0.0.1] -p [6379] --pipe
一次性传入,批量执行
- redis基于请求/响应模型,节省请求处理需要一一应答
- PipeLine批量执行指令,节省IO往返的时间
- 有顺序依赖的指令建议分批发送
Redis的同步机制
主从同步原理
一个master进行写入操作,多个salve进行读取操作
- 全量同步
- Salve发送sync命令到maste
- master启动一个后台进程,将redis中的数据快照保存到文件中
- master将保存数据快照期间接收到的写命令缓存起来
- master完成写文件操作后,将该文件发送给salve
- 使用新的AOF文件替换掉旧的AOF文件
- Master将期间手机的增量写命令发送给salve端
- 增量同步
- master接收到用户的操作指令后,判断是否需要传播到Slave
- 将操作记录追加到AOF文件
- 将操作传播到其他Slave
- 对齐主从库;
- 往响应缓存写入指令
- 将缓存中的数据发送给Slave
Redis Sentinel
解决主从同步Master宕机后的主从切换问题
- 监控:检查主从服务器是否运行正常
- 提醒:通过API向管理员或者其他应用程序发送故障通知
- 自动故障嫌疑:主从切换