澶у濂斤紝鎴戞槸灏忚彍銆備竴涓笇鏈涙垚涓哄惞鐗沊鐨勭敺浜猴紝璋堝缓绛戯紒濡傛灉浣犱篃鎯虫垚涓烘垜鎯虫垚涓虹殑浜猴紝鎴栬€呰窡鐫€鎴戝仛浼达紝璁╁皬鑿滀笉鍐嶅鍗曪紒鏈枃涓昏浠嬬粛Redis鐨勬寔涔呭寲銆傚鏋滈渶瑕侊紝鍙互鍙傝€冦€傚鏋滄湁甯姪锛屽埆蹇樹簡鐐逛釜璧炴渶杩戝湪闈㈣瘯鐨勮矾涓婅秺璧拌秺杩滐紝Redis鎯冲繀鏄竴涓儹闂ㄧ殑闈㈣瘯鏂瑰悜銆傛湁澶氬皯绉嶆暟鎹粨鏋勶紵濡備綍瀹炵幇寤惰繜闃熷垪锛熸窐姹版満鍒舵槸鎬庢牱鐨勶紵闂殑鏃跺€欐垜閮藉揩楹绘湪浜嗭紝杩欎簺闂鏃跺父钀︾粫鍦ㄦ垜鐨勮剳娴烽噷銆傞偅鎴戜滑灏辨潵璇磋鏈枃涓竴閬撴瘮杈冨父瑙侊紝闅惧害閫備腑鐨勯潰璇曢銆俁edis鐨勬寔涔呭寲绛栫暐鏄粈涔堬紵涓€寮€濮嬪氨闂竴涓棶棰樸€傜浉淇¤闂埌Redis鎸佷箙鍖栫殑鍚屽涓€瀹氬緢澶氾紝绛斿鐨勫悓瀛︿篃涓€瀹氬緢澶氥€傝璧稲edis鐨勬寔涔呭寲锛岃偗瀹氭湁鏈嬪弸浼氬紶鍢淬€傛瘯绔熷彧鏈堿OF鍜孯DB杩欎袱涓蹇点€傚鏋滀綘鍑嗗闈㈣瘯锛屼綘涓嶄細琚棶寰楀お绯熺硶銆備絾鏄綘鐪熺殑鐞嗚В杩樻槸鍙槸涓轰簡闈㈣瘯鑰岃儗璇碉紵浣犵煡閬揂OF鍜孯DB鐨勯瀛楁瘝缂╁啓璇嶆槸浠€涔堝悧锛熶綘瀹炴柦浜嗗悧锛熶綘鐪熶互涓洪潰璇曞畼鐪嬩笉鍑轰綘鏄儗棰樿繕鏄粌棰橈紵4閬撻浣犺鏄瓟瀵逛簡涓€鍗婏紝杩樹笉濡傚線涓嬬湅锛岃涓嶅畾浣犱細鏈夋墍鏀惰幏锛岃嚦灏戜綘鍦ㄥ洖绛旈潰璇曢鐨勬椂鍊欒剳瀛愰噷鏈変釜灏忚彍~锛丷edis鎸佷箙鍖栦粈涔堟槸Redis鎸佷箙鍖栵紵鍏堜笉璁扮潃寰€瑙i鏂瑰悜鍓嶈繘锛屽厛鎼炴槑鐧借繖閬撻鐨勬剰鎬濄€傛寔涔呮€ф剰鍛崇潃姘镐箙淇濆瓨鏁版嵁銆傞偅涔堜粈涔堟槸Redis鎸佷箙鍖栧憿锛熶篃灏辨槸灏哛edis瀛樺偍鍦ㄥ唴瀛樹腑鐨勬暟鎹啓鍏ョ鐩橈紝闃叉鏈嶅姟瀹曟満鏃跺唴瀛樻暟鎹涪澶便€傞偅涔堟湁鏈嬪弸璇达紝纾佺洏鍧忎簡锛屾暟鎹€庝箞鎸佷箙鍖栵紵鍗充娇澶氱偣澶囦唤鍙互瑙e喅纾佺洏鎹熷潖闂锛屼竾涓€澶氱偣涓㈠け鎬庝箞鍔烇紵鎵撲綇锛屾墦浣忥紝杩欑瘒鏂囩珷璁茬殑鏄疪edis鍐呭瓨鏁版嵁->纾佺洏鐨勬寔涔呭寲锛屽埆鎸囨湜鍦ㄨ繖涓棶棰樹笂璺熼潰璇曞畼鑱婂崐涓皬鏃秪锛佸湪杩欑瘒鏂囩珷涓紝鎴戜滑浠庡嚑涓偣鏉ヨВ閲奟edis鐨勬寔涔呭寲闂銆傚叡鏈変笁涓ぇ鏂瑰悜鍜屼竴涓笁姝ョ瓥鐣ユ潵瑙e喅鎮ㄧ殑鎸佷箙鎬ч棶棰樸€?.RDB棣栧厛鎴戜滑鏉ヨВ鍐冲叾涓竴涓紑灞€闂銆俁DB鐨勫叏绉版槸浠€涔堬紵RDB(RedisDatabaseBackupfile)---Redis鏁版嵁澶囦唤鏂囦欢锛屼篃绉颁负Redis鏁版嵁蹇収銆傝繖涓皬宸ュ叿鏄敤鏉ュ皢鍐呭瓨涓殑鎵€鏈夋暟鎹褰曞埌纾佺洏涓殑銆傚綋Redis瀹炰緥鍑虹幇鏁呴殰閲嶅惎鏃讹紝浠庣鐩樹腑璇诲彇蹇収鏂囦欢鏉ユ仮澶嶆暟鎹€傚唴蹇冪媯鍠滐紝鐪嬫潵绗竴涓鍒扮殑姒傚康灏卞彲浠ヨВ鍐砇edis鐨勬寔涔呭寲闂浜唦鍦ㄥ涔燫DB涔嬪墠锛屾垜浠厛浜嗚В涓€涓媐ork鍜宑ow杩欎袱涓牳蹇冩蹇点€傛垜浠皢鍦ㄤ笅闈㈣繘琛岃В閲婏紝杩欓噷鏈変竴涓妧宸с€俁DB鏄疪edis榛樿鐨勬寔涔呭寲鏈哄埗銆傚畠灏嗗唴瀛樹腑鐨勬暟鎹寜鐓т竴瀹氱殑鏃堕棿娈典互蹇収鐨勫舰寮忎繚瀛樺埌纾佺洏涓€傚畠浼氱敓鎴愪竴涓壒娈婄被鍨嬬殑file.rdb鏁版嵁鏂囦欢锛屼綘鍙互閫氳繃閰嶇疆鏂囦欢涓殑save鍙傛暟鏉ュ畾涔夊揩鐓у懆鏈熴€傛垜浠粠閰嶇疆鏂囦欢涓殑涓や釜閰嶇疆鍙傛暟鍏ユ墜锛岀涓€涓槸淇濆瓨閰嶇疆銆傝鎸囦护鐢盧DB鐨凴edis涓昏繘绋嬫墽琛岋紝浼氶樆濉炴墍鏈夊懡浠ゃ€傛垜浠湪閰嶇疆鏂囦欢1涓壘鍒颁簡鍏充簬sava鐨勯厤缃紝dbfilenamedump.rdb璇ラ厤缃」鐨勪綔鐢ㄦ槸瀹氫箟rdb鏂囦欢鍚嶏紙闇€瑕佹敞鎰弉ame涓嶈兘瀹氫箟涓鸿矾寰勶紝鍙兘鏄痙efinedasafilename锛夋垜浠墽琛宻ave鍛戒护鍚庯紝鎴戜滑鍙互鍦╮edis鏂囦欢澶逛腑鐪嬪埌涓€涓猟ump.rdb鏂囦欢2.save杩欎釜閰嶇疆椤圭殑浣滅敤鏄敤鏉ュ畾涔夊叾涓彂鐢熶簡澶氬皯鍙樺寲涓€娈垫椂闂村悗锛宐gsave浼氳鎵ц銆傚鏋滄槸save""锛屽垯琛ㄧずRDB琚鐢ㄣ€傛帴涓嬫潵鎴戜滑鎵撳紑娴嬭瘯鐢ㄧ殑淇濆瓨閰嶇疆dbfilenamedump-test.rdb#鏂囦欢鍚嶄负dump-test.rdbsave36001#濡傛灉鍦?600绉掑唴鍙戠敓鍙樺寲锛屽皢鎵цbgsave銆傛垜浠€氳繃redis-cli杩涘叆锛岄€€鍑哄悗鍙互鍦ㄥ綋鍓嶇洰褰曠湅鍒板垰鎵嶇敓鎴愮殑dump-test.rdb鏂囦欢锛岃鏄庢垜浠殑閰嶇疆鐢熸晥浜嗭紝鐒跺悗鎴戜滑鐩存帴閲嶅惎Redis锛岀湅鐪嬪垰鎵嶄繚瀛樼殑鏁版嵁鏄惁杩樺瓨鍦?鐪嬪埌鎴戜滑鐨勬暟鎹紝璇存槑redis鎸佷箙鍖栨垚鍔熶簡銆傜劧鍚庢垜浠垹闄ゅ垰鍒氱敓鎴愮殑dump-test.rdb鏂囦欢锛岄噸鍚痳edis銆傝繖璇存槑Redis鍦ㄥ惎鍔ㄦ椂渚濊禆.rdb鏉ユ仮澶嶆枃浠舵暟鎹€傞偅涔堟垜浠笂闈竴鐩村湪璇寸殑bgsave锛宐gsave鏄€庝箞鎵ц鐨勫憿锛熸垜浠箣鍓嶆彁鍒拌繃fork鍜宑ow杩欎袱涓蹇碉紝涓嶇煡閬撳ぇ瀹惰繕鏈夋病鏈夊嵃璞★紝杩欎袱涓蹇垫墠鏄噸鐐箏锛乥gsave鍚姩鏃朵細fork涓昏繘绋嬪緱鍒颁竴涓柊鐨勫瓙杩涚▼锛屽瓙杩涚▼鍏变韩涓昏繘绋嬬殑鍐呭瓨鏁版嵁銆傚瓙杩涚▼浼氬皢鏁版嵁鍐欏叆纾佺洏涓婄殑涓存椂.rdb鏂囦欢銆傚綋瀛愯繘绋嬪畬鎴愬啓鍏ヤ复鏃舵枃浠跺悗锛屽畠灏嗘浛鎹㈠師鏉ョ殑.rdb鏂囦欢銆傝繖灏辨槸fork鐨勬牳蹇冿紝閭d粈涔堟槸cow鍛紵cow鐨勫叏绉版槸copy-on-write鎶€鏈€傚綋涓昏繘绋嬫墽琛岃鎿嶄綔鏃讹紝瀹冭闂叡浜唴瀛橈紝褰撲富杩涚▼鎵ц鍐欐搷浣滄椂锛屽畠澶嶅埗涓€浠芥暟鎹苟鎵ц鍐欐搷浣溿€傚叿浣撹繃绋嬪涓嬶細杩欑鎸佷箙鍖栨柟寮忔湁浠€涔堜紭鍔匡紵鏂逛究鎸佷箙鍖栵紝鍙湁涓€涓猟ump.rdb鏂囦欢鏈夊埄浜庡鐏撅紝鍙互灏嗘枃浠朵繚瀛樺埌瀹夊叏纾佺洏鏈€澶у寲鎬ц兘锛宖ork瀛愯繘绋嬪畬鎴愬啓鎿嶄綔锛岃涓昏繘绋嬬户缁鐞嗗懡浠わ紝鏈€澶у寲IO锛屽苟涓斾繚璇丷edis鐨勯珮鎬ц兘涔熸湁缂虹偣锛氭暟鎹畨鍏ㄦ€т綆锛孯DB鏄棿闅旀寔涔呭寲鐨勶紙save锛夛紝鎸佷箙鍖栬繃绋嬩腑濡傛灉Redis澶辫触锛屼細閫犳垚鏁版嵁涓㈠け锛屾墍浠ヨ繖绉嶆柟娉曢€傜敤鐨勬儏鍐垫暟鎹姹備笉鏄緢涓ユ牸锛屽瓨鍌ㄦ椂闂撮暱鐨勫湴鏂广€傚鏋滄暟鎹噺寰堝ぇ锛屼繚瀛樺揩鐓х殑鏃堕棿浼氬緢闀匡紝鑰屼笖浼氬崰鐢ㄧ鐩樼┖闂淬€?.浣滅敤鏄疪edis澶勭悊鐨勬瘡鏉″啓鍛戒护閮戒細璁板綍鍦ˋOF鏂囦欢涓紝鍙互鐪嬩綔鏄竴涓懡浠ゆ棩蹇楁枃浠躲€傝繖涓姛鑳介粯璁ゆ槸鍏抽棴鐨勶紝鎴戜滑鍙互鏌ョ湅redis.conf鏂囦欢涓瑼OF鐩稿叧鐨勯厤缃」1,appendonlyyes#寮€鍚疉OF鏃ュ織璁板綍鍔熻兘锛岄粯璁ゆ槸鍏抽棴鐨?,appendfilename"appendonly.aof"#AOF鏂囦欢涓婇潰涓や釜閰嶇疆椤规槸鐢ㄦ潵寮€鍚疉OF鏃ュ織璁板綍鐨勶紝鎵€浠ヨ繕鏈変竴涓厤缃」闇€瑕佷簡瑙?.appendfsynceverysec#AOF鍛戒护鏃ュ織璁板綍鐨勯鐜囥€傝閰嶇疆椤瑰叿鏈変笁涓彲閫夊€笺€傜己鐐癸細濮嬬粓鍚屾鍒风洏锛屽彲闈犳€ч珮锛屽嚑涔庝笉浼氫涪澶辨暟鎹€傛€ц兘鏈夊緢澶х殑褰卞搷銆俥verysecdiskflashing鐨勬€ц兘閫備腑銆傛渶澶?绉掔殑鏁版嵁涓㈠け鏄病鏈夌殑銆傛搷浣滅郴缁熸帶鍒舵€ц兘鏈€濂姐€傚彲闈犳€у樊锛屽彲鑳戒細涓㈠け澶ч噺鏁版嵁銆備簡瑙e湪Mysql涓娇鐢ㄨ繃relaylog鐨勫悓瀛﹀杩欎釜妯″瀷涓嶄細闄岀敓銆傚師鐞嗭細灏嗗啓鍛戒护杩藉姞鍒癆OF鏂囦欢鐨勬湯灏俱€備娇鐢ˋOF鎸佷箙鍖栵紝闇€瑕佽缃悓姝ラ€夐」锛屼繚璇佸啓鍛戒护鍚屾鍒扮鐩樻枃浠躲€傝繖鏄洜涓哄啓鍏ユ枃浠朵笉浼氱珛鍗冲悓姝ュ唴瀛樸€傜浉鍙嶏紝瀹冮鍏堝瓨鍌ㄥ湪缂撳瓨涓紝鐒跺悗鐢辨搷浣滅郴缁熷喅瀹氫綍鏃跺悓姝ュ埌纾佺洏銆傛垜浠墦寮€AOF璁板綍鍔熻兘鏌ョ湅涓€涓嬶細鍙互鐪嬪埌鎴戜滑鐨勬瘡涓€涓搷浣滈兘琚褰曞湪浜咥OF鏂囦欢涓€傛垜浠篃鍙互閫氳繃閲嶅惎Redis鑾峰彇鍒板垰鍒氬瓨鍌ㄧ殑鏁版嵁锛岃鏄庢寔涔呭寲鐢熸晥浜唦澶у鐪嬬湅鏄笉鏄寰椾笂闈㈢殑AOF璁板綍鏂囦欢寰堣寰嬪憿锛熶絾鏄湪绾夸笂鐜姣旇緝姝h涔熶笉濂斤紝鍥犱负杩欎釜鏂囦欢涓昏鏄粰鏈哄櫒鐪嬬殑锛屼笉鏄粰鎴戜滑鐪嬬殑锛屾墍浠ユ垜浠簲璇ュ彲浠ュ帇缂╀竴涓嬨€備负浜嗚В鍐矨OF鏂囦欢浣撶Н澧炲ぇ鐨勯棶棰橈紝鐢ㄦ埛鍙互鍚慠edis鍙戦€乥grewriteaof鍛戒护銆傝鍛戒护灏嗛€氳繃鍘婚櫎AOF鏂囦欢涓殑鍐椾綑鍛戒护鏉ラ噸鍐欙紙rewrite锛堿OF鏂囦欢锛屼娇AOF鏂囦欢鐨勪綋绉敖鍙兘鐨勫皬銆傚彲鑳藉緢灏忋€俠grewriteaof鐨勫伐浣滃師鐞嗗拰bgsave鍒涘缓蹇収寰堢浉浼硷細Redis浼氬垱寤轰竴涓瓙杩涚▼锛岀劧鍚庡瓙杩涚▼璐熻矗閲嶅啓AOF鏂囦欢銆傚洜涓篈OF鏂囦欢鏀瑰啓涔熼渶瑕佷娇鐢ㄥ瓙杩涚▼锛屽揩鐓ф寔涔呭寲涓垱寤哄瓙杩涚▼甯︽潵鐨勬€ц兘闂鍜屽唴瀛樺崰鐢ㄩ棶棰樺湪AOF鎸佷箙鍖栦腑鍚屾牱瀛樺湪銆傛棦鐒舵湁鎵嬪姩瑙﹀彂鍘嬬缉锛屼篃鏈夎嚜鍔ㄨЕ鍙戝帇缂╋紝涔熷氨鏄閰嶇疆鏂囦欢涓殑涓や釜閰嶇疆椤筧uto-aof-rewrite-percentage100auto-aof-rewrite-min-size64mb鏄寚褰揂OF鐨勪綋绉椂鏂囦欢澶т簬64MB锛屼笖AOF鏂囦欢鐨勪綋绉瘮涓婃閲嶅啓鍚庣殑浣撶Н鑷冲皯澶т袱鍊嶏紙100%锛夛紝Redis浼氭墽琛宐grewriteaof鍛戒护銆傜患涓婃墍杩帮紝鍏朵紭鐐规湁锛氭暟鎹畨鍏ㄣ€侫OF鎸佷箙鍖栧彲浠ュ湪appendfsync灞炴€т腑閰嶇疆always锛屾瘡娆″啓鍛戒护鎿嶄綔閮戒細鍦ˋOF鏂囦欢涓褰曚竴娆′竴鑷存€с€傞€氳繃append妯″瀷鍐欏叆鏂囦欢锛屽嵆浣夸腑閫斿畷鏈猴紝涔熷彲浠ヤ娇鐢╮edis-check-aof宸ュ叿瑙e喅鏁版嵁涓€鑷存€ч棶棰樸€傜己鐐规槸锛欰OF鏂囦欢姣擱DB鏂囦欢澶э紝鏁版嵁闆嗗ぇ鏃舵仮澶嶉€熷害姣擱DB鏂囦欢鎱€傛晥鐜囦綆涓嬩篃绛変簬鏈夊埄鏈夊紛銆傚皬蹇冧娇鐢ㄣ€備笁銆備袱鑰呯殑鍖哄埆鍒嗗埆浠嬬粛浜嗕袱鑰呫€傛垜浠潵鍥為【涓€涓嬩袱鑰呯殑鍖哄埆锛熶竴鏂归潰锛孯DBAOF鎸佷箙鍖栨柟寮忎細瀹氭湡瀵规暣涓唴瀛樿繘琛屽揩鐓э紝浠ヨ褰曟瘡娆℃墽琛岀殑鍛戒护鏁版嵁瀹屾暣鎬ф槸涓嶅畬鏁寸殑锛屼袱娆″浠戒箣闂翠細涓㈠け鐩稿瀹屾暣鎬с€傛牴鎹埛鏈虹瓥鐣ヤ笉鍚岋紝鏂囦欢澶у皬浼氳鍘嬬缉锛屾枃浠跺皬锛岃褰曞懡浠わ紝鏂囦欢澶э紝瀹曟満鎭㈠閫熷害蹇紝鏁版嵁鎭㈠浼樺厛绾т綆锛屽洜涓烘暟鎹畬鏁存€ф病鏈堿OF楂橈紝鍥犱负鏁版嵁瀹屾暣鎬ф洿楂樸€傜郴缁熻祫婧愬崰鐢ㄩ珮锛屽崰鐢ㄥぇ閲廋PU鍜屼綆鍐呭瓨锛屼富瑕佹槸纾佺洏IO璧勬簮銆傝€屼笖AOF鏀瑰啓浼氬崰鐢ㄥぇ閲忕殑CPU鍜屽唴瀛樿祫婧愩€備娇鐢ㄥ満鏅彲浠ュ蹇嶆暟鍒嗛挓鐨勬暟鎹涪澶便€傝拷姹傛洿蹇殑鍚姩閫熷害瀵规暟鎹畨鍏ㄦ€ф彁鍑轰簡鏇撮珮鐨勮姹傘€傜湅瀹屼互涓婏紝鎯冲繀瀵硅繖涓ょ鎸佷箙鍖栨満鍒堕兘鏈変簡涓€瀹氱殑浜嗚В銆傛垜鏄庣櫧銆備袱鑰呭悇鏈夊埄寮婏紝閭d箞鎴戜滑璇ュ浣曢€夋嫨鍛紵杩欓噷鎻愬嚑鐐规剰瑙亊濡傛灉鑳藉繊鍙楃煭鏃堕棿鐨勬暟鎹涪澶憋紝鍙互浣跨敤RDB鏈哄埗锛屽畾鏃剁敓鎴怰DB蹇収锛孯DB鎭㈠鏁版嵁闆嗙殑閫熷害姣擜OF鎭㈠蹇€備絾鏄鏋滃彧浣跨敤RDB鏈哄埗锛屽彲鑳戒細瀵艰嚧澶ч噺鏁版嵁涓㈠け锛屾墍浠ユ垜浠渶瑕佺患鍚堜娇鐢ˋOF鍜孯DB涓ょ鎸佷箙鍖栨満鍒讹紝浣跨敤AOF淇濊瘉鏁版嵁涓嶄涪澶憋紝浣滀负鏁版嵁鎭㈠鐨勯閫夛紱浣跨敤RDB鍋氫笉鍚岀▼搴︾殑鍐峰浠斤紝鍦ˋOF鏂囦欢涓㈠け鎴栨崯鍧忕殑鎯呭喌涓嬶紝鍙互浣跨敤RDB杩涜鏁版嵁鐨勫揩閫熸仮澶嶃€傛垜浠彲浠ヤ娇鐢≧DB蹇€熸仮澶嶆暟鎹紝浣跨敤AOF琛ュ叏鏁版嵁銆傛垜浠湪杩欓噷鎻忚堪浜哛edis鎸佷箙鍖栨満鍒剁殑閰嶇疆銆傞€氳繃杩欑瘒鏂囩珷鐨勫涔狅紝鐩镐俊鍦ㄩ潰璇曚腑閬囧埌杩欎釜闂鐨勬椂鍊欙紝涓嶄細閭d箞鎵嬭冻鏃犳帾浜唦锛佷笉璇寸┖璇濓紝涓嶅伔鎳掞紝鍜屽皬鑿滀竴璧峰仛涓€涓惞鍢榅鏋舵瀯鐨勭▼搴忓憳鍚鍏虫敞鎴戝仛浼达紝璁╁皬鑿滀笉鍐嶅鍗曘€備笅闈㈣锛佷粖澶╀綘鍔姏涓€鐐癸紝鏄庡ぉ姹備汉鐨勫彛姘斿氨灏戜竴鐐癸紒鎴戞槸灏忚彍锛屼竴涓拰浣犱竴璧峰彉寮虹殑鐢蜂汉銆傪煉嬪井淇″叕浼楀彿宸插紑閫氾紝灏忚彍涓ら泦锛岃繕娌℃湁鍏虫敞鐨勫悓瀛﹁寰楀叧娉ㄥ摝锛?/p>