Redis持久化方式~RDB 持久化和AOF 持久化
生活随笔
收集整理的這篇文章主要介紹了
Redis持久化方式~RDB 持久化和AOF 持久化
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
持久化
Redis 是內(nèi)存型數(shù)據(jù)庫,為了保證數(shù)據(jù)在斷電后不會丟失,需要將內(nèi)存中的數(shù)據(jù)持久化到硬盤上。
RDB 持久化
將某個時間點的所有數(shù)據(jù)都存放到硬盤上。
可以將快照復(fù)制到其它服務(wù)器從而創(chuàng)建具有相同數(shù)據(jù)的服務(wù)器副本。
如果系統(tǒng)發(fā)生故障,將會丟失最后一次創(chuàng)建快照之后的數(shù)據(jù)。
如果數(shù)據(jù)量很大,保存快照的時間會很長。
AOF 持久化
將寫命令添加到 AOF 文件(Append Only File)的末尾。
使用 AOF 持久化需要設(shè)置同步選項,從而確保寫命令同步到磁盤文件上的時機。這是因為對文件進行寫入并不會馬上將內(nèi)容同步到磁盤上,而是先存儲到緩沖區(qū),然后由操作系統(tǒng)決定什么時候同步到磁盤。有以下同步選項:
| always | 每個寫命令都同步 |
| everysec | 每秒同步一次 |
| no | 讓操作系統(tǒng)來決定何時同步 |
- always 選項會嚴(yán)重減低服務(wù)器的性能;
- everysec 選項比較合適,可以保證系統(tǒng)崩潰時只會丟失一秒左右的數(shù)據(jù),并且 Redis 每秒執(zhí)行一次同步對服務(wù)器性能幾乎沒有任何影響;
- no 選項并不能給服務(wù)器性能帶來多大的提升,而且也會增加系統(tǒng)崩潰時數(shù)據(jù)丟失的數(shù)量。
隨著服務(wù)器寫請求的增多,AOF 文件會越來越大。Redis 提供了一種將 AOF 重寫的特性,能夠去除 AOF 文件中的冗余寫命令。
總結(jié)
以上是生活随笔為你收集整理的Redis持久化方式~RDB 持久化和AOF 持久化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用Java实现图片验证码功能
- 下一篇: linux cmake编译源码,linu