- 因?yàn)镽DB文件只用作后背用途,建議只在Slave上持久化RDB文件,而且只要15分鐘備份一次就夠了,只保留
save 900 1
這條規(guī)則 - 如果Enable AOF,好處是在最惡劣情況下,也只會(huì)丟失不超過(guò)兩秒數(shù)據(jù),啟動(dòng)腳本較簡(jiǎn)單只load自己的aof文件就可以了.代價(jià)一是帶來(lái)了持續(xù)的IO,二是AOF rewrite的最后將rewrite過(guò)程中產(chǎn)生的新數(shù)據(jù)寫到新文件造成的阻塞幾乎是不可避免的.只要硬盤許可,應(yīng)該盡量減少AOF rewrite的頻率,AOF重寫的基礎(chǔ)大小默認(rèn)值64m太小了,可以設(shè)到5G以上.默認(rèn)超過(guò)原大小100%時(shí)重寫,可以該帶適當(dāng)?shù)臄?shù)值
- 如果不Enable AOF,僅靠Master-Slave Replication實(shí)現(xiàn)高可用性也可以.
能省掉一大筆IO也減少了rewrite時(shí)帶來(lái)的系統(tǒng)波動(dòng).代價(jià)是如果Master和Slave同時(shí)掛掉,會(huì)丟失十幾分鐘的數(shù)據(jù),啟動(dòng)腳本也要比較兩個(gè)Master和Slave中的RDB文件,載入較新的那個(gè).新浪微博就選用了這種架構(gòu)
我自己角色既然使用了redis就是為了它的(A)高可用性和(P)分區(qū)容忍性,至于數(shù)據(jù)一致性(C)就可以暫時(shí)放一放了,如果真的對(duì)高一致性有要求,那就說(shuō)明該業(yè)務(wù)不適合放在redis上去使用
- Cosistency 高一致性
- Availability 高可用性
- Tolerance to network Partitions 分區(qū)容忍性