這是學習的時候自己總結的筆記,因為使用Typora記筆記,導致太多的筆記分散,所以傳到博客方便查找,**代表的是typora里的高亮
mysql主從復制和redis主從復制的區別
- 復制時機
mysql的主從復制是**從接入點開始**,主機之前的數據,從機不會復制
但是redis是**從頭開始備份**,主機之前的數據,從機也會獲得
- 復制原理
mysql**首先**把所有的寫操作寫在了一個Binary log日志中。**之后**從機去讀取這個二進制日志,並**先執行**將該日志寫入到Relay log日志(中繼日志)的操作,**最后**從Relay log日志中讀取執行操作
redis從機接入后,**第一**從機給主機發送sync指令。**第二**主機立刻進行存盤操作,發送RDB文件給從機。**第三**從機收到RDB文件進行全盤加載。**最后**之后主機的**每次寫操作**,都會**立刻發送**給從機,從機**執行相同的命令**
- 原理區別:
mysql主機不會向從機發送任何東西,主從分離,但是redis的主機會,redis主機直接和從機溝通
因為mysql主從復制的設計架構,導致了如果寫操作執行后,立刻執行讀操作很有可能讀取不到,因為從機還沒有執行log日志,所以mysql主從復制寫操作執行完后不要立馬讀(因為讀寫分離有延遲)