redis持久化 RDB與AOF

redis持久化 RDB與AOF

RDB與AOF區別

  • rdb: 基於快照的持久化,速度更快,通常用作備份,主從複製也是依賴於rdb持久化功能
  • aof:以追加的方式記錄redis操做日誌的文件,能夠最大程度的保證redis數據的安全

RDB

前言

  • 前言
    • Redis是一種內存型數據庫,一旦服務器進程退出,數據庫的數據就會丟失,爲了解決這個問題,Redis提供了兩種持久化的方案,將內存中的數據保存到磁盤中,避免數據的丟失。
  • RDB持久化
    • 基於內存的數據快照
    • 按期執行數據快照
    • 手動觸發數據快照

RDB實踐

  • redis安裝連接:http://www.javashuo.com/article/p-aphlavaz-cr.htmlhtml

  • 在配置文件中,添加rdb持久化參數redis

    # 新建配置文件redis-6379.conf
    touch redis/conf/redis-6379.conf
    # 編輯
    vim redis/conf/redis-6379.conf
    
    # 寫入內容
    port 6379         
    daemonize yes           
    pidfile /data/6379/redis.pid
    loglevel notice       
    logfile "/data/6379/redis.log"
    dir /data/6379                              #定義持久化文件存儲位置
    protected-mode yes 
    dbfilename  dbmp.rdb
    save 900 1                            #rdb機制 每900秒 有1個修改記錄
    save 300 10                       #每300秒        10個修改記錄
    save 60 10000                     #每60秒內        10000修改記錄
    
    # 注意路徑問題,不要將備註也複製進去,

    注意:若是報存儲文件沒有,根據你本身寫的路徑本身建立數據庫

  1. 啓動redis服務端vim

    redis-server redis-6379.conf
  2. 登陸redis設置key緩存

    redis-cli -p 6379 -a xxx
     # -p  端口號   -a 設置的密碼
    # 若是沒輸入密碼,登陸以後
    auth 密碼
  3. 此時檢查目錄,/data/6379底下沒有dbmp.rdb文件安全

  4. 經過save觸發持久化,將數據寫入RDB文件服務器

    127.0.0.1:6379> set age 18
    OK
    127.0.0.1:6379> save
    OK

AOF

前言

  • AOF(append-only log file)
    記錄服務器執行的全部變動操做命令(例如set del等),並在服務器啓動時,經過從新執行這些命令來還原數據集
    AOF 文件中的命令所有以redis協議的格式保存,新命令追加到文件末尾。
    優勢:最大程序保證數據不丟
    缺點:日誌記錄很是大

配置

  1. 配置文件app

    # 新建配置文件redis-6379.conf
    touch redis/conf/redis-6379.conf
    # 編輯
    vim redis/conf/redis-6379.conf
    # 參數
    daemonize yes
    port 6379
    logfile /data/6379/redis.log
    dir /data/6379
    dbfilename  dbmp.rdb
    requirepass redhat
    save 900 1
    save 300 10
    save 60  10000
    appendonly yes
    appendfsync everysec

    參數解析ui

    appendonly yes
    appendfsync  always    老是修改類的操做
                 everysec   每秒作一次持久化
                 no     依賴於系統自帶的緩存大小機制
  2. 啓動redis日誌

    redis-server redis-6379.conf
  3. 檢查redis數據目錄/data/6379/是否產生了aof文件

    ls /data/6379/
  4. 登陸redis-cli,寫入數據,實時檢查aof文件信息

    # 新開一個窗口,觀察aof文件信息
    tail -f appendonly.aof
    
    
    # 登陸redis-cli
    redis-cli -p 6380 -a xxx
    
    # -p  端口號   -a 設置的密碼
    # 若是沒輸入密碼,登陸以後
    auth 密碼
相關文章
相關標籤/搜索