搜尋

首頁  >  問答  >  主體

可信賴的redis備份方案

redis是基於內存的,所以存在當程序掛掉數據丟失的可能。我目前想到的備份方案是,做一個主從,從庫做定時dump。

但是dump是不是實時的,而是隔一段時間做一次,所以這期間還是有丟失數據的可能。是否有方案能實時備份redis的數據,讓redis出了問題以後快速恢複。

伊谢尔伦伊谢尔伦2841 天前688

全部回覆(2)我來回復

  • 迷茫

    迷茫2017-04-21 11:19:01

    啟用 AOF (append-only file)。

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-21 11:19:01

    丟資料的問題,可以透過redis的主從複製解決問題。但是,我覺得可以想辦法降低資料遺失的風險程度和波及範圍。搶票屬於典型的高並發場景,可以考慮只把車票的庫存資訊放在記憶體中,其他的資訊透過更可靠的資料庫來保存。

    具體的解決方案:
    1、redis啟用主從複製,對外提讀供服務可以用兩台以上的從解決單點問題和負載平衡;
    2、至於掛掉的資料復原方案,可以出隊操作記錄日誌,服務掛掉的話,重啟之後透過日誌快速恢復庫存;
    3.降低資料遺失風險的方案。例如使用redis的queue資料結構,來保存車票庫存,出隊成功就算搶到票,然後保存搶票關係到資料庫,然後下單&付款;
    4.實際使用經驗redis掛掉的機率不大,不過掛掉恢復資料確實很麻煩。所以最好看使用場景吧,如果非常重要的數據,建議盡量避免放在記憶體資料庫,最好還是數據落地為好。

    回覆
    0
  • 取消回覆