Redis學習(8)-redis持久化
阿新 • • 發佈:2018-05-31
配置文件 持久 部分 增刪改查 src 宕機 back 選擇 png
內存(兔子):高效,斷電數據丟失
硬盤(烏龜):讀寫速度慢於內存的,斷電數據依舊存在
持久化:把數據保存在硬盤上
關系型數據庫:MySQL-持久化:
- 任何操作都是硬盤上,斷電以後,硬盤上數據還在。
非關系型數據庫:redis
- 增刪改查,數據都是在內存上進行操作。
- 斷電後內存中的數據不存在。
- 斷電後:redis的部分數據會丟失,丟失的數據是保存在內存中的,部分保存在硬盤上
- redis存在持久化操作
Redis兩種持久化策略:RDB,AOF
默認持久化機制:RDB
RDB:使用快照方式保存數據
RDB相當於快照,保存的僅是一種狀態。
20G數據--> 幾Kb快照
優點:
1,快照保存數據速度極快,還原數據速度極快。
2,適用於災難備份(rdb文件小,備份rdb文件速度很快)。
缺點:
RDB機制符合要求就會照快照(隨時隨地啟動),會占用一定系統資源(突然的),很可能內存不足,直接宕機(宕機後,服務器關閉,非正常關閉,內存中的數據也因此沒了)。
適用於:內存比較充裕的計算機。
RDB何時進行照快照:
1,服務器關閉時,照快照。 ./bin/redis-cli shutdown
2,key滿足一定條件,會照快照。
AOF:使用日誌功能保存數據操作
redis同步了三種同步策略:每秒同步,每修改同步,和不同步。
AOF配置:
no 不同步:高效,但是不進行持久化(默認)
everysec 每秒同步:每秒進行一次AOF保存數據
always 每修改同步:只要有key變化語句,就進行AOF保存數據。
適用於:內存空間較小的計算機。
AOF操作:只會保存導致key變化的語句。
啟用AOF
修改redis.conf,配置文件,如下倆個截圖:
策略選擇:
優點:
1,持續性占用極少量的內存資源。
缺點:
1,日誌文件會比較大。
2,不適用於災難容災(日誌文件大,拷貝慢)
Redis學習(8)-redis持久化