国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Redis 持久化

這篇具有很好參考價值的文章主要介紹了Redis 持久化。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

默認情況下,redis 工作時所有數(shù)據(jù)都是存儲于內(nèi)存中的,不論是否有磁盤上的持久化數(shù)據(jù),都是工作于內(nèi)存當中,redis 本身就是一個內(nèi)存的數(shù)據(jù)庫,如果 redis 崩潰或斷電導致所有數(shù)據(jù)丟失,所以 redis 提供了持久化功能來保證數(shù)據(jù)的可靠性, redis 持久化有兩種實現(xiàn):RDB 和 AOF

1、RDB 持久化

Redis 持久化,Redis,redis,數(shù)據(jù)庫,緩存

RDB 持久化是指在指定的時間間隔內(nèi)將內(nèi)存中的數(shù)據(jù)集快照寫入磁盤,實際操作過程是 fork 一個子進程,先將數(shù)據(jù)集寫入臨時文件,寫入成功后,再替換之前的文件,用二進制壓縮存儲。

RDB 持久化是默認啟動的持久化機制;按事先定制的策略,周期性地將數(shù)據(jù)保存至磁盤,數(shù)據(jù)文件默認為 dump.rdb。

RDB 持久化有兩種方式:

  • 借助于配置文件所定義的 save 和策略進行保存。
  • 客戶端使用 SAVE 或 BGSAVE 命令啟動快照保存機制。

SAVE 命令: 同步保存,在客戶端使用 save 保存快照時,是在 redis 主線程中保存快照;因為 redis 的主線程是用于處理請求的,所以此時會阻塞所有客戶端請求,每次的保存快照都是把內(nèi)存中的數(shù)據(jù)完整的保存一份,并非是增量的,如果內(nèi)存中的數(shù)據(jù)比較大,而還有大量的寫操作請求時,此方式會引起大量的 I/O,會導致 redis性能下降。

BGSAVE 命令異步方式,將立即返回結果,但自動在后臺保持操作,所以 BGSAVE命令啟動以后,前臺不會被占用,客戶端的請求是不會被阻塞(主進程不會被阻塞)。如果是在配置文件中定義的 save,那么 redis 在持久化的時候,則會開啟另外的進程去處理,不會阻塞 redis 的主進程redis 的 RDB 持久化不足之處則是,一旦數(shù)據(jù)出現(xiàn)問題,由于 RDB 的數(shù)據(jù)不是最新的,所以基于 RDB 恢復過來的數(shù)據(jù)一定會有一部分數(shù)據(jù)丟失,也就是 RDB 保存之后的修改的數(shù)據(jù)會丟失。


a. RDB 優(yōu)點

① 采用 RDB 方式,那么你的整個 Redis 數(shù)據(jù)庫將只包含一個文件,這對于文件備份而言是非常方便的,因為我們可以非常輕松的將一個單獨的文件壓縮后再轉移到其它存儲介質上。

② 性能最大化。對于 Redis 的服務進程而言,在開始持久化時,它唯一需要做的只是 fork 出子進程,之后再由子進程完成這些持久化的工作,這樣就可以極大的避免服務進程執(zhí)行 IO 操作了。

③ 相比于 AOF 機制,如果數(shù)據(jù)集很大,RDB 的啟動效率會更高。

b. RDB 缺點

① 如果你想保證數(shù)據(jù)的高可用性,即最大限度的避免數(shù)據(jù)丟失,那么 RDB 將不是一個很好的選擇。因為系統(tǒng)一旦在定時持久化之前出現(xiàn)宕機現(xiàn)象,此前沒有來得及寫入磁盤的數(shù)據(jù)都將丟失。

② 由于 RDB 是通過 fork 子進程來協(xié)助完成數(shù)據(jù)持久化工作的,因此,如果當數(shù)據(jù)集較大時,可能會導致整個服務器停止服務幾百毫秒,甚至是 1 秒鐘。

c. 配置RDB相關參數(shù)
# 創(chuàng)建 RDB 文件路徑
mkdir -p /usr/local/redis/data 
vim /usr/local/redis/etc/redis.conf
#-----------------配置文件--------------------------------------------------------
# 在進行快照備份時,一旦發(fā)生錯誤的話是否停止寫操作
stop-writes-on-bgsave-error yes 
# RDB 文件是否使用壓縮,壓縮會消耗 CPU 
rdbcompression yes 

#是否對 RDB 文件做校驗碼檢測,此項定義在 redis 啟動時加載 RDB 文件是否對文件檢查校驗碼,
#在 redis 生成 RDB 文件是會生成校驗信息,在 redis 再次啟動或裝載 RDB 文件時,
#是否檢測校驗信息,如果檢測的情況下會消耗時間,會導致 redis 啟動時慢,
#但是能夠判斷 RDB 文件是否產(chǎn)生錯誤
rdbchecksum yes 

# 定義 RDB 文件的名稱
dbfilename dump.rdb 
# 定義 RDB 文件存放的目錄路徑
dir /usr/local/redis/data 
#-----------------配置文件--------------------------------------------------------

#關閉 redis,這里注意,設置完密碼后關閉 redis 需要攜帶密碼
redis-cli -a 123456 shutdown 
redis-server /usr/local/redis/etc/redis.conf 
redis-cli -a 123456 
127.0.0.1:6379> config get dir

Redis 持久化,Redis,redis,數(shù)據(jù)庫,緩存

2、AOF 持久化

Redis 持久化,Redis,redis,數(shù)據(jù)庫,緩存

AOF:Append Only File,持久化以日志的形式記錄服務器所處理的每一個寫、刪除操作,查詢操作不會記錄,以文本的方式記錄,可以打開文件看到詳細的操作記錄。AOF 類似于 MySQL 的二進制日志,記錄每一次 redis 的寫操作命令,以順序 IO 方式附加在指定文件的尾部,是使用追加方式實現(xiàn)的,這也叫做一種附加日志類型的持久化機制,由于每一次的操作都記錄,則會隨著時間增長而增大文件的容量, AOF 不像 RDB,RDB 是保存數(shù)據(jù)集的本身。

a. AOF 優(yōu)點

① AOF 機制可以帶來更高的數(shù)據(jù)安全性,即數(shù)據(jù)持久性。Redis 中提供了 3 中同步策略,即每秒同步、每修改同步和不同步。事實上,對于每秒同步,一旦系統(tǒng)出現(xiàn)宕機現(xiàn)象,那么這一秒鐘之內(nèi)修改的數(shù)據(jù)將會丟失。而每修改同步,即每次發(fā)生的數(shù)據(jù)變化都會被立即記錄到磁盤中。至于無同步,無需多言,我想大家都能正確的理解它。

② 由于 AOF 機制對日志文件的寫入操作采用的是 append 模式,因此在寫入過程中即使出現(xiàn)宕機現(xiàn)象,也不會破壞日志文件中已經(jīng)存在的內(nèi)容。然而如果我們本次操作只是寫入了一半數(shù)據(jù)就出現(xiàn)了系統(tǒng)崩潰問題,不用擔心,在 Redis 下一次啟動之前,我們可以通過 redis-check-aof 工具來幫助我們解決數(shù)據(jù)一致性的問題。

③ 如果日志過大,Redis 可以自動啟用 rewrite 機制。即 Redis 以 append 模式不斷的將修改數(shù)據(jù)寫入到老的磁盤文件中,同時 Redis 還會創(chuàng)建一個新的文件用于記錄此期間有哪些修改命令被執(zhí)行。因此在進行 rewrite 切換時可以更好的保證數(shù)據(jù)安全性。

④ AOF 包含一個格式清晰、易于理解的日志文件用于記錄所有的修改操作。事實上,我們也可以通過該文件完成數(shù)據(jù)的重建。

b. AOF 缺點

① 對于相同數(shù)量的數(shù)據(jù)集而言,AOF 文件通常要大于 RDB 文件。RDB 在恢復大數(shù)據(jù)集時的速度比 AOF 的恢復速度要快。

② 根據(jù)同步策略的不同,AOF 在運行效率上往往會慢于 RDB。

c. 配置AOF相關參數(shù)
vim /usr/local/redis/etc/redis.conf
#--------------------------------配置文件Start-----------------------------------------
# 定義是否開啟 AOF 功能,默認為關閉,啟用修改為 yes
appendonly no

# 定義 AOF 文件
appendfilename "appendonly.aof" 

# 表示每次收到寫命令時,立即寫到磁盤上的 AOF 文件,
# 雖然是最好的持久化功能,但是每次有寫命令時都會有磁盤的 I/O 操作,容易影響redis 的性能
appendfsync always 

# 表示每秒鐘寫一次,不管每秒鐘收到多少個寫請求都往磁盤中的 AOF 文件中寫一次
appendfsync everysec

# 表示 append 功能不會觸發(fā)寫操作,所有的寫操作都是提交給 OS,由 OS 自行決定是如何寫的
appendfsync no 

# 當此項為 yes 時,表示在重寫時,對于新的寫操作不做同步,而暫存在內(nèi)存中
no-appendfsync-on-rewrite no

# 表示當前 AOF文件的大小是上次重寫 AOF文件的二倍時,則自動日志重寫過程
auto-aof-rewrite-percentage 100

# 定義 AOF 文件重寫過程的條件,最少為定義大小則觸發(fā)重寫過程
auto-aof-rewrite-min-size 64mb 
#--------------------------------配置文件End-----------------------------------------

注意:持久本身不能取代備份;還應該制定備份策略,對 redis 數(shù)據(jù)庫定期進行備份;

d. RDB 與 AOF 同時啟用注意事項

① BGSAVE 和 BGREWRITEAOF 不會同時執(zhí)行,為了避免對磁盤的 I/O 影響過大, 在某一時刻只允許一者執(zhí)行; 如果 BGSAVE 在執(zhí)行當中,而用戶手動執(zhí)行 BGREWRITEAOF 時,redis 會立即返回 OK,但是 redis 不會同時執(zhí)行,會等 BGSAVE 執(zhí)行完成,再執(zhí)行 BGREWRITEAOF。

② 在 Redis 服務器啟動用于恢復數(shù)據(jù)時,會優(yōu)先使用 AOF

③ 數(shù)據(jù)恢復:每次 redis 重啟都會去讀取相對應的文件,如果誤刪除可以用備份文件直接替換 原來的文件,dump.rdb 或者 appendonly.aof。文章來源地址http://www.zghlxwxcb.cn/news/detail-802646.html

到了這里,關于Redis 持久化的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • redis原理(四)數(shù)據(jù)安全之數(shù)據(jù)持久化

    redis原理(四)數(shù)據(jù)安全之數(shù)據(jù)持久化

    目錄 一、RDB快照持久化 原理 二、RDB快照持久化配置(redis.conf): 三、觸發(fā)RDB備份: 1、自動備份,需配置備份規(guī)則: 2、手動執(zhí)行命令備份(save | bgsave): 3、flushall命令: 四、RDB的備份恢復: 五、RDB優(yōu)缺點: 以下配置以Redis-x64-3.2.100.zip為例,介紹下 RDB快照持久化? 一、

    2024年01月17日
    瀏覽(33)
  • redis數(shù)據(jù)安全(三)數(shù)據(jù)持久化 AOF

    redis數(shù)據(jù)安全(三)數(shù)據(jù)持久化 AOF

    接上一篇RDB,本篇看下Redis數(shù)據(jù)持久化的第二種方式AOF。 目錄 一、AOF原理 1、寫入機制: 2、緩沖機制: 3、重寫機制?: 4、運行流程 二、AOF文件配置 1、開啟AOF: 2、自動觸發(fā)AOF重寫? 3、重寫規(guī)則: 三、AOF的備份恢復: 1、正?;謴停?2、異?;謴停?四、重寫流程: 五、

    2024年01月19日
    瀏覽(28)
  • redis數(shù)據(jù)安全(二)數(shù)據(jù)持久化 RDB

    redis數(shù)據(jù)安全(二)數(shù)據(jù)持久化 RDB

    目錄 一、RDB快照持久化 原理 二、RDB快照持久化配置(redis.conf): 三、觸發(fā)RDB備份: 1、自動備份,需配置備份規(guī)則: 2、手動執(zhí)行命令備份(save | bgsave): 3、flushall命令: 四、RDB的備份恢復: 五、RDB優(yōu)缺點: 以下配置以Redis-x64-3.2.100.zip為例,介紹下 RDB快照持久化? 一、

    2024年01月20日
    瀏覽(27)
  • docker安裝redis并持久化數(shù)據(jù)

    docker安裝redis并持久化數(shù)據(jù)

    這里是沒有任何的密碼 密碼是剛才設置的Maqiang

    2024年02月11日
    瀏覽(27)
  • Redis---數(shù)據(jù)持久化之RDB與AOF

    Redis 數(shù)據(jù)庫文件,全稱 Redis DataBase,數(shù)據(jù)持久化方式之一,數(shù)據(jù)持久化 默認方式 ,按照指定時間間隔,將內(nèi)存中的數(shù)據(jù)及快照寫入硬盤 定義RDB文件名 dbfilename \\\"dump.rdb\\\" RDB指dump.rdb文件; redis數(shù)據(jù)每次存盤,如果不指定持久化的方式,數(shù)據(jù)就會默認存入dump.rdb文件中 數(shù)據(jù)從內(nèi)存

    2023年04月19日
    瀏覽(21)
  • 【NOSQL數(shù)據(jù)庫】Rdeis持久化

    【NOSQL數(shù)據(jù)庫】Rdeis持久化

    在web服務器中,高可用是指服務器可以正常訪問的時間,衡量的標準是在多長時間內(nèi)可以提供正常服務(99.9%、99.99%、99.999%等等)。 但是在Redis語境中,高可用的含義似乎要寬泛一些,除了保證提供正常服務(如主從分離、快速容災技術),還需要考慮數(shù)據(jù)容量的擴展、數(shù)據(jù)

    2024年02月12日
    瀏覽(23)
  • Redis - redis.windows.conf配置文件及RDB和AOF數(shù)據(jù)持久化方案

    Redis - redis.windows.conf配置文件及RDB和AOF數(shù)據(jù)持久化方案

    Redis的高性能是由于其將所有數(shù)據(jù)都存儲在了內(nèi)存中,為了使Redis在重啟之后仍能保證數(shù)據(jù)不丟失,需要將數(shù)據(jù)從內(nèi)存中同步到硬盤中,這一過程就是持久化。 Redis支持兩種方式的持久化,一種是RDB方式,一種是AOF方式??梢詥为毷褂闷渲幸环N或將二者結合使用。 該機制是指

    2024年01月24日
    瀏覽(30)
  • Redis九種數(shù)據(jù)類型及其持久化機制:探索數(shù)據(jù)存儲的奇妙世界

    Redis九種數(shù)據(jù)類型及其持久化機制:探索數(shù)據(jù)存儲的奇妙世界

    目錄 一、9種數(shù)據(jù)類型 3.1 Key操作 3.1.1 相關命令 練習: 3.2 String 3.2.1 結構圖 3.2.2 相關命令 ?練習: 3.3 List(雙向的鏈表) 3.3.1 結構圖 3.3.2 相關命令 練習: 3.4 Set(無序集合) 3.4.1 結構圖 3.4.2 相關命令 練習: 3.5 Zset(有序集合) 3.5.1 結構圖 3.5.2 相關命令 練習 3.6 Hash 3.6.1 結構

    2024年02月16日
    瀏覽(90)
  • 微服務 - Redis緩存 · 數(shù)據(jù)結構 · 持久化 · 分布式 · 高并發(fā)

    微服務 - Redis緩存 · 數(shù)據(jù)結構 · 持久化 · 分布式 · 高并發(fā)

    系列目錄 微服務 - 概念 · 應用 · 架構 · 通訊 · 授權 · 跨域 · 限流 微服務 - Consul集群化 · 服務注冊 · 健康檢測 · 服務發(fā)現(xiàn) · 負載均衡 微服務 - Redis緩存 · 數(shù)據(jù)結構 · 持久化 · 分布式 · 高并發(fā) 微服務 - Nginx網(wǎng)關 · 進程機制 · 限流熔斷 · 性能優(yōu)化 · 動態(tài)負載 · 高可用

    2023年04月18日
    瀏覽(23)
  • 【Redis】Redis 持久化

    【Redis】Redis 持久化

    Redis有兩種持久化方案: RDB持久化 AOF持久化 RDB 全稱 Redis Database Backup file(Redis數(shù)據(jù)備份文件),也被叫做 Redis 數(shù)據(jù)快照。簡單來說就是把內(nèi)存中的所有數(shù)據(jù)都記錄到磁盤中。當 Redis 實例故障重啟后,從磁盤讀取快照文件,恢復數(shù)據(jù)??煺瘴募Q為 RDB文件,默認是保存在當

    2024年02月05日
    瀏覽(35)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包