日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis持久化RDB

發布時間:2025/3/15 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis持久化RDB 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 什么是redis的持久化?

Redis 是一款內存數據庫,也就是說它把數據都存儲在內存中,持久化就是把內存中的數據存儲到電腦的磁盤上。

Redis 提供了不同級別的持久化方式:

? ? ? ? 1. RDB 持久化方式能夠在指定的時間間隔能對你的數據進行快照存儲。

? ? ? ? 2. AOF 持久化方式記錄每次對服務器寫的操作,當服務器重啟的時候會重新執行這些命令來恢復原始的數據。

本篇介紹第一種:RDB。

2. RDB(Redis DataBase)
2.1 RDB是什么?

RDB 是 Redis 持久化到磁盤上的數據文件的格式,重點內容默認的文件名是 dump.rdb。

Redis 會在指定的時間間隔內將內存中的數據集快照寫入磁盤,也就是行話講的Snapshot快照,它恢復時是將快照文件直接讀到內存里。

Redis會單獨創建(fork)一個子進程來進行持久化,會先將數據寫入到一個臨時文件中,待持久化過程都結束了,再用這個臨時文件替換上次持久化好的文件。

整個過程中,主進程是不進行任何IO操作的,這就確保了極高的性能。如果需要進行大規模數據的恢復,且對于數據恢復的完整性不是非常敏感,那RDB方式要比AOF方式更加的高效。RDB的缺點是最后一次持久化后的數據可能丟失。

2.2 Fork的作用是什么?

fork的作用是復制一個與當前進程一樣的進程。新進程的所有數據(變量、環境變量、程序計數器等)。

數值都和原進程一致,但是是一個全新的進程,并作為原進程的子進程

2.3 如何手動將 redis 中的數據寫入磁盤?

使用 save 命令,或者 bgsave 命令。

  • save:該命令會阻塞其他操作,例:客戶端請求。
  • bgsave:該命令會在后臺異步執行寫操作,仍然可以處理客戶端請求。
  • lastsave:該命令獲取最后一次成功執行快照的時間。
  • flushall / flushdb:清庫命令,也會刷新 dump.rdb。

2.4 如何從RDB文件中加載數據?

Redis 在啟動的時候會自動加載 redis-server 所在的目錄下的 dump.rdb 文件(如果存在的話),如果在啟動 redis-server 服務的時候指定了別的配置文件,那就讀取那個指定的配置文件目錄下的 dump.rdb,例:

redis-server /myconf/redis.conf 命令執行之后就會去加載 /myconf 目錄下的 dump.rdb 文件來初始化 redis。

so,我們的運維人員就可以通過定期備份 dump.rdb 文件的方式來防止數據的丟失。

2.5 RDB 的優勢

  • 適合大規模的數據恢復。

2.6 RDB 的劣勢

  • 在一定間隔時間做一次備份,所以如果redis意外down掉的話,就?
    會丟失最后一次快照后的所有修改。

  • fork的時候,內存中的數據被克隆了一份,大致2倍的膨脹性需要慎重考慮。

2.7 如何令 redis 停止寫 RDB 文件??

  • 在配置文件中配置?save ""

  • 在客戶端執行命令:redis-cli config set save ""

2.8 總結

?

?

?

總結

以上是生活随笔為你收集整理的Redis持久化RDB的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。