《Redis持久化RDB和AOF實戰(zhàn)》要點:
本文介紹了Redis持久化RDB和AOF實戰(zhàn),希望對您有用。如果有疑問,可以聯(lián)系我們。
Redis可以同時開啟RDB和AOF兩種持久化模式,Redis默認是只開啟RDB,當Redis重啟時,它會優(yōu)先使用AOF文件來還原數(shù)據(jù)集
什么時候會觸發(fā)redis生成快照(生成RDB文件)
# Save the DB on disk:
[root@localhsot redis]# redis-check-rdb --fix dump.rdb
打開配置文件,在Windows上,如:redis.windows.conf
1、將appendonly no 設置為
appendonly yes
2、將appendfsync設置為everysec,默認已經(jīng)打開
appendfsync everysec
AOF會將服務器執(zhí)行的所有寫操作命令記錄到這個文件,aof是一個增量文件
說明
說明:服務器上redis以前只開啟了RDB,現(xiàn)在要同時開啟RDB和AOF
因為AOF只記錄在AOF開啟之后的寫操作命令,如果在開啟AOF之前Redis已經(jīng)有數(shù)據(jù),那么,appendonly.aof中就不會有開啟AOF之前執(zhí)行過的寫操作命令,
解決辦法
動態(tài)的開啟AOF,在redis-cli里面執(zhí)行如下命令,開啟AOF持久化
127.0.0.1:6379> config set appendonly yes
當我們執(zhí)行了上面命令之后,redis會自動創(chuàng)建appendonly.aof文件,并將內(nèi)存中的數(shù)據(jù)以aof文件的格式寫入appendonly.aof
還可以主動觸發(fā)來重寫aof文件
127.0.0.1:6379> bgrewriteaof
aof文件損壞導致redis啟動失敗
我們可以用redis-check-aof工具來修復aof文件,先將aof文件備份
[root@localhsot redis]# cp appendonly.aof appendonly.aof.bak[root@localhsot redis]# redis-check-aof --fix appendonly.aof
auto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64mb
redis會記錄上一次重寫時aof文件的大小,默認配置是當aof文件大小是上次rewrite后大小的一倍且文件大于64mb時觸發(fā).
持久化(persistence) http://redisdoc.com/topic/persistence.html
【Redis源碼剖析】 - Redis持久化之AOF http://blog.csdn.net/xiejingfa/article/details/51644390
http://www.cnblogs.com/hjy9420/p/6076018.html
歡迎參與《Redis持久化RDB和AOF實戰(zhàn)》討論,分享您的想法,維易PHP學院為您提供專業(yè)教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/10663.html