引言:對(duì)于使用Redis服務(wù)器存儲(chǔ)數(shù)據(jù)的大型網(wǎng)站來說,如果僅僅使用一臺(tái)Redis服務(wù)器的話,不僅數(shù)據(jù)存儲(chǔ)速度得不到保證,而且存在很大的風(fēng)險(xiǎn),一旦該機(jī)出現(xiàn)問題(例如數(shù)據(jù)丟失,磁盤損壞等),就會(huì)對(duì)網(wǎng)站運(yùn)行造成不利影響。搭建Redis服務(wù)器集群,可以很好的解決該問題。如果主服務(wù)器宕機(jī),只需簡單修改Redis配置文件,就可以讓從服務(wù)器擔(dān)當(dāng)數(shù)據(jù)管理任務(wù)。
從運(yùn)維角度上看,需要了解Redis的持久化概念。持久化指的是將數(shù)據(jù)存儲(chǔ)到斷電后不會(huì)丟失的設(shè)備中,例如將內(nèi)存中的數(shù)據(jù)保存到硬盤中等。Redis支持RDB和AOF兩種持久化方式。對(duì)于前者來說,是基于內(nèi)存快照的持久化方式,其工作原理是每隔幾分鐘或者幾次寫操作后,在某一瞬間從內(nèi)存DUMP數(shù)據(jù)形成RDB文件,并將其壓縮保存到指定的目錄。因?yàn)槠浯鎯?chǔ)的是整體內(nèi)存鏡像數(shù)據(jù),所以在恢復(fù)時(shí)速度很快。RDB的配置信息保存在“redis.conf”文件中。
執(zhí)行“vim redis.conf”命令,其中的“save 900 1”行表示在 900秒內(nèi),如果有1條寫入則產(chǎn)生快照。
“save 300 1000”行的作用是如果300秒內(nèi)有1000次數(shù)據(jù)寫入則產(chǎn)生快照。“save 60 10000”行的作用是如果在60秒內(nèi)有10000次數(shù)據(jù)寫入則產(chǎn)生快照。如果將以上三行配置全部屏蔽,則禁用RBD快照功能。
“stop-writes-onbgsave-error”行的作用是當(dāng)后臺(tái)備份進(jìn)程出錯(cuò)時(shí),主進(jìn)程是否停止寫入,“yes”表示確認(rèn),“no”表示否認(rèn)。
“rdbcompression”行的作用是是否對(duì)導(dǎo)出的rdb文件進(jìn)行壓縮。
“Rdbchecksum”行的作用是當(dāng)導(dǎo)入rbd鏡像進(jìn)行數(shù)據(jù)恢復(fù)時(shí),是否檢驗(yàn)rdb的完整性。
“dbfilename”行的作用是指定導(dǎo)出的rdb文件名,“dir”行的作用是指定rdb文件的存儲(chǔ)路徑,默認(rèn)放置在當(dāng)前路徑?!?br>