首頁  >  問答  >  主體

可信赖的redis备份方案

redis是基于内存的,所以存在当程序挂掉数据丢失的可能。我目前想到的备份方案是,做一个主从,从库做定时dump。

但是dump是不是实时的,而是隔一段时间做一次,所以这期间还是有丢失数据的可能。是否有方案能实时备份redis的数据,让redis出了问题以后快速恢复。

伊谢尔伦伊谢尔伦2762 天前632

全部回覆(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
  • 取消回覆