redis持久化RDB與AOF

2022-09-16 15:12:10 字數 2452 閱讀 8300

redis是一種記憶體型資料庫,一旦伺服器程序退出,資料庫的資料就會丟失,為了解決這個問題,redis提供了兩種持久化的方案,將記憶體中的資料儲存到磁碟中,避免資料的丟失。

redis提供了rdb持久化的功能,這個功能可以將redis在記憶體中的的狀態儲存到硬碟中,它可以手動執行。

也可以再redis.conf中配置,定期執行

rdb持久化產生的rdb檔案是乙個經過壓縮二進位制檔案,這個檔案被儲存在硬碟中,redis可以通過這個檔案還原資料庫當時的狀態。

rdb(持久化)

記憶體資料儲存到磁碟

在指定的時間間隔內生成資料集的時間點快照(point-in-time snapshot)

優點:速度快,適合做備份,主從複製就是基於rdb持久化功能實現

rdb通過再redis中使用s**e命令觸發 rdb

rdb配置引數:

dir /data/6379/dbfilename dbmp.rdb

每過900秒 有1個操作就進行持久化

s**e 900秒 1個修改類的操作

s**e 300秒 10個操作

s**e 60秒 10000個操作

s**e 900 1s**e 300 10s**e 60 10000

1.啟動redis服務端,準備配置檔案

daemonize yes

port 6379logfile /data/6379/redis.log

dir /data/6379 #

定義持久化檔案儲存位置

dbfilename dbmp.rdb #

rdb持久化檔案

bind 10.0.0.10 127.0.0.1 #

redis繫結位址

requirepass redhat #

redis登入密碼

s**e 900 1 #

rdb機制 每900秒 有1個修改記錄

s**e 300 10 #

每300秒 10個修改記錄

s**e 60 10000 #

每60秒內 10000修改記錄

2.啟動redis服務端

3.登入redis設定乙個key

redis-cli -a redhat

4.此時檢查目錄,/data/6379底下沒有dbmp.rdb檔案

5.通過s**e觸發持久化,將資料寫入rdb檔案

127.0.0.1:6379> set age 18ok

127.0.0.1:6379>s**e

ok

redis-client   寫入資料  >  redis-server   同步命令   >  aof檔案

配置引數

aof持久化配置,兩條引數

everysec 每秒做一次持久化

no 依賴於系統自帶的快取大小機制

1.準備aof配置檔案 redis.conf

daemonize yes

port 6379logfile /data/6379/redis.log

dir /data/6379dbfilename dbmp.rdb

requirepass redhat

2.啟動redis服務

redis-server /etc/redis.conf

3.檢查redis資料目錄/data/6379/是否產生了aof檔案

[root@web02 6379]#

ls4.登入redis-cli,寫入資料,實時檢查aof檔案資訊

[root@web02 6379]#

5.設定新key,檢查aof資訊,然後關閉redis,檢查資料是否持久化

redis-cli -a redhat shutdown

redis-server /etc/redis.conf

redis-cli -a redhat

redis 持久化方式有哪些?有什麼區別?

rdb:基於快照的持久化,速度更快,一般用作備份,主從複製也是依賴於rdb持久化功能

aof:以追加的方式記錄redis操作日誌的檔案。可以最大程度的保證redis資料安全,類似於mysql的binlog

redis持久化(rdb和aof)

rdb redis database 在制定的時間間隔內將記憶體中的資料集快照寫入磁碟 snapshot快照 redis恢復時將快照檔案直接讀到記憶體。rdb儲存的是dump.rdb檔案 在bin 目錄下會看到 redis會單獨建立 fork 乙個子程序來進行持久化,會先將資料寫入到乙個臨時檔案中,...

redis持久化方案 RDB和AOF

redis持久化主要是做災難恢復,資料恢復 redis持久化 rdb,aof 1.rdb持久化機制,對redis中的資料執行週期性的持久化 每隔指定的時間以快照的形式儲存到檔案當中,儲存的是資料檔案 如果我們想要redis僅僅作為純記憶體的快取來用,那麼可以禁止rdb和aof所有的持久化機制 通過r...

Redis 持久化機制(RDB和AOF)

一 rdb也叫snapshotting方式 1 機制 以快照的方式將記憶體中的資料寫入二進位制檔案中,在磁碟中會生成乙個.rdb的檔案。這種方式可以設定每個多長時間進行一次快照,即按照一定的策略週期性的持久化。注意 每次都是將記憶體中的資料完整的寫入磁碟,不是增量的更新。它是非同步的。工作原理簡單介...