redis是一個內(nèi)存數(shù)據(jù)庫,當(dāng)redis服務(wù)器重啟,獲取電腦重啟盒让,數(shù)據(jù)會丟失半夷,我們可以將redis內(nèi)存中的數(shù)據(jù)持久化保存到硬盤的文件中。
redis持久化機(jī)制
1.RDB
默認(rèn)方式念祭,不需要進(jìn)行配置,默認(rèn)使用這種機(jī)制
在一定的時間間隔中,檢測key的變化情況功偿,然后持久化數(shù)據(jù)
打開redis的配置文件可以找到以下內(nèi)容(有省略)
# In the example below the behaviour will be to save:
# after 900 sec (15 min) if at least 1 key changed
# after 300 sec (5 min) if at least 10 keys changed
# after 60 sec if at least 10000 keys changed
save 900 1
save 300 10
save 60 10000
save 900 1 表示900s之內(nèi)至少有一個key發(fā)生改變就進(jìn)行一次持久化
save 300 10 表示300s之內(nèi)至少有10個key發(fā)生改變就進(jìn)行一次持久化
save 60 10000 表示60秒內(nèi)至少有10000個key發(fā)生改變就進(jìn)行一次持久化
需要重新啟動redis,并指定redis配置文件
2.AOF
日志記錄的方式往堡,可以記錄每一條命令的操作械荷,可以在每一次命令操作后,持久化數(shù)據(jù)
AOF機(jī)制默認(rèn)是關(guān)閉的虑灰。在redis.conf文件中的配置如下吨瞎,想要開啟AOF需要將no改成y:
appendonly no
每一次操作都進(jìn)行持久化
appendfsync always
每隔一次進(jìn)行一次持久化
appendfsync everysec
不進(jìn)行持久化
appendfsync no