更新時(shí)間:2020-07-16 15:44:11 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1804次
Javaweb編程教程,Java作為應(yīng)用于網(wǎng)絡(luò)的最好語(yǔ)言,前景無限看好。然而,就算用Java建造一個(gè)不是很煩瑣的web應(yīng)用,也不是件輕松的事情。那么,具備JavaWeb開發(fā)能力需要掌握哪些知識(shí)?本文,小編就來詳細(xì)說說JavaWeb需要掌握的技術(shù)!
Redis持久化機(jī)制
數(shù)據(jù)持久化方式
Redis支持兩種數(shù)據(jù)持久化方式:RDB方式和AOF方式。前者會(huì)根據(jù)配置的規(guī)則定時(shí)將內(nèi)存中的數(shù)據(jù)持久化到硬盤上,后者則是在每次執(zhí)行寫命令之后將命令記錄下來。兩種持久化方式可以單獨(dú)使用,但是通常會(huì)將兩者結(jié)合使用。
RDB方式
RDB方式的持久化是通過快照的方式完成的。當(dāng)符合某種規(guī)則時(shí),會(huì)將內(nèi)存中的數(shù)據(jù)全量生成一份副本存儲(chǔ)到硬盤上,這個(gè)過程稱作”快照”,Redis會(huì)在以下幾種情況下對(duì)數(shù)據(jù)進(jìn)行快照:
根據(jù)配置規(guī)則進(jìn)行自動(dòng)快照;
用戶執(zhí)行SAVE, BGSAVE命令;
執(zhí)行FLUSHALL命令;
執(zhí)行復(fù)制(replication)時(shí)。
快照生成原理:
快照?qǐng)?zhí)行的過程如下:
Redis使用fork函數(shù)復(fù)制一份當(dāng)前進(jìn)程(父進(jìn)程)的副本(子進(jìn)程);
父進(jìn)程繼續(xù)處理來自客戶端的請(qǐng)求,子進(jìn)程開始將內(nèi)存中的數(shù)據(jù)寫入硬盤中的臨時(shí)文件;
當(dāng)子進(jìn)程寫完所有的數(shù)據(jù)后,用該臨時(shí)文件替換舊的RDB文件,至此,一次快照操作完成。
需要注意的是:
在執(zhí)行fork的時(shí)候操作系統(tǒng)(類Unix操作系統(tǒng))會(huì)使用寫時(shí)復(fù)制(copy-on-write)策略,即fork函數(shù)發(fā)生的一刻,父進(jìn)程和子進(jìn)程共享同一塊內(nèi)存數(shù)據(jù),當(dāng)父進(jìn)程需要修改其中的某片數(shù)據(jù)(如執(zhí)行寫命令)時(shí),操作系統(tǒng)會(huì)將該片數(shù)據(jù)復(fù)制一份以保證子進(jìn)程不受影響,所以RDB文件存儲(chǔ)的是執(zhí)行fork操作那一刻的內(nèi)存數(shù)據(jù)。所以RDB方式理論上是會(huì)存在丟數(shù)據(jù)的情況的(fork之后修改的的那些沒有寫進(jìn)RDB文件)。
AOF方式
在使用Redis存儲(chǔ)非臨時(shí)數(shù)據(jù)時(shí),一般都需要打開AOF持久化來降低進(jìn)程終止導(dǎo)致的數(shù)據(jù)丟失,AOF可以將Redis執(zhí)行的每一條寫命令追加到硬盤文件中,這一過程顯然會(huì)降低Redis的性能,但是大部分情況下這個(gè)影響是可以接受的,另外,使用較快的硬盤能提高AOF的性能。
開啟AOF
默認(rèn)情況下,Redis沒有開啟AOF(append only file)持久化功能,可以通過在配置文件中作如下配置啟用:
appendonly yes
開啟之后,Redis每執(zhí)行一條寫命令就會(huì)將該命令寫入硬盤中的AOF文件。AOF文件保存路徑和RDB文件路徑是一致的,都是通過dir參數(shù)配置,默認(rèn)文件名是:appendonly.aof,可以通過配置appendonlyfilename參數(shù)修改,例如:
appendfilename “appendonly.aof”
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“實(shí)用的Javaweb編程教程總結(jié)”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743