所有的數據都存在內存中,從內存當中同步到硬盤上,這個過程叫做持久化過程。
持久化操作,兩種方式:rdb方式、aof方式,可以單獨使用或者結合使用。
使用方法:
rdb持久化方法:在指定的時間間隔寫入硬盤
aof方式:將以日誌,記錄每一個操作,服務器啓動後就構建數據庫。
配置可以禁用 持久化功能。
也可以同時使用兩種方式。
RDB方式 Redis是默認支持的
優勢:只有一個文件,時間間隔的數據,可以歸檔爲一個文件,方便壓縮轉移(就一個文件)
劣勢:如果宕機,數據損失比較大,因爲它是沒一個時間段進行持久化操作的。也就是積攢的數據比較多,一旦懵逼,就徹底懵逼了
配置redis-conf:
打開redis的配置文件,找到下圖的地方
這裏save 900 1 表示 每900秒內至少有1個kery發生變化,就持久化
save 300 10表示 每300秒內至少有10個key發生變化,就持久化
save 60 10000表示 每60秒內至少有10000個key發生變化,就持久化
再往下找到
這裏有個dbfilename配置 是 保存的持久化的文件名 默認是dump.rdb
再往下:
dir ./ 表示文件存儲路徑是當前路徑;
我們退出,找到redis配置文件的目錄,查看
在redis.conf文件這裏還有一個dump.rdb文件
RDB備份和恢復數據
假如遇到斷電或者宕機或者自然災害, 我們需要恢復數據 我們模擬下。
首先查看redis中的數據,然後關閉redis並保存數據退出
然後把redis的持久化rdb文件剪切到其它文件夾去,在重新啓動下redis
查看redis中的數據是空的,關閉redis並保存數據退出
然後我們再把rdb文件剪切回跟redis-conf同一目錄中,重新啓動redis查看redis的數據
發現數據又回來了
這就是備份、恢復的過程
繞了一大圈 總結下
平時我們可以定期把rdb文件備份到指定地方 需要恢復的時候 直接把rdb搞到redis下即可;