在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Redis持久化AOF原理學習

麥辣雞腿堡 ? 來源:七哥聊編程 ? 作者:七哥聊編程 ? 2023-10-09 15:02 ? 次閱讀
原理

在學習AOF原理前,我們首先要了解 RESP (Redis的序列化協議)

圖片

從圖中可以看到客戶端在調用redis服務端時,傳入的命令和 key、value 都會通過 RESP 協議序列化為文本。AOF文件中存儲的就是序列化后的reids命令。

AOF同步和RDB類似之處在于都是采用fork進程來處理:

圖片

通過這張圖,我們知道了Redis是將客戶端傳入的命令直接寫入AOF文件的,那如果同一個key原本值是0,然后改為1,最后在改為2,如果每一條命令都記錄不僅毫無意義,同時會使得AOF文件越來越大,所以 Redis 在這塊有一個小優化。

AOF重寫(優化AOF文件)
set s1 11
set s1 22

上面的操作,如果沒有優化之前AOF文件是會將這兩個命令按照RESP序列化后存儲,如果優化后,則只存儲后面一條命令即 set s1 22,同一個key的值被覆蓋了,只存儲最終結果。

重寫過程分析

那如果做到同一個key在AOF文件中只存儲最新的值呢?不可能每一次寫入文件前去檢查一遍刪除之前這個key的值吧,這樣做效率肯定賊低,我們來看看Redis是怎么做的?

Redis 其實是會定期新創建一個 AOF 文件,然后做 AOF 文件的重寫優化,在創建新 AOF 文件的過程中,會繼續將命令追加到現有的 AOF 文件里面,即使重寫過程中發生停機,現有的 AOF 文件也不會丟失。而一旦新 AOF 文件創建完畢, Redis 就會從舊 AOF 文件切換到新 AOF 文件,并開始對新 AOF 文件進行追加操作。

這個操作不得不說還是玩的66的!大寫的服。

優化的觸發條件:

那上面說的定期重建 AOF 文件具體的時機是啥時候呢?答案也在配置文件 redis.conf 中,需要如下的配置即可,我已經寫了注釋,你一眼就能看懂的。

# 表示當前aof文件大小超過上一次aof文件大小的百分之多少的時候會進行重寫。如果之前沒有重寫過,以啟動時aof文件大小為準
auto-aof-rewrite-percentage 100
# 限制允許重寫最小aof文件大小,也就是文件大小小于64mb的時候,不需要進行優化
auto-aof-rewrite-min-size 64mb
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 內存
    +關注

    關注

    8

    文章

    3064

    瀏覽量

    74382
  • 數據庫
    +關注

    關注

    7

    文章

    3852

    瀏覽量

    64738
  • Redis
    +關注

    關注

    0

    文章

    379

    瀏覽量

    10967
收藏 人收藏

    評論

    相關推薦

    Redis堅持持久方式概述

    Redis 持久
    發表于 09-25 17:04

    阿里云基于NVM的持久高性能Redis數據庫

    各自業務需求,在讀寫性能、緩存容量、數據可靠性等方面作出靈活的選擇。Redis提供了RDB和AOF兩種持久方式供選擇,4.0中更是引入了RDB-A
    發表于 08-13 15:06 ?295次閱讀

    Redis持久機制的實現原理和使用技巧

    Redis將數據存儲在內存中,宕機或重啟都會使內存數據全部丟失, Redis持久機制用來保證數據不會因為故障而丟失。
    的頭像 發表于 09-13 16:42 ?1045次閱讀

    Redis持久化分為兩種:RDB和AOF

    Redis持久,一個老掉牙的問題,但是面試官就是喜歡問。這也是我們學Redis必會的一個知識點。
    的頭像 發表于 02-21 09:22 ?740次閱讀

    Redis是什么?簡述它的優缺點?

    /s,寫的速度是81000次/s。 支持數據持久,支持AOF和RDB兩種持久方式。 支持事務, Re
    的頭像 發表于 10-09 10:37 ?916次閱讀

    Redis持久機制介紹

    Redis持久機制? 為了能夠重用Redis數據,或者防止系統故障,我們需要將Redis中的數據寫入到磁盤空間中,即
    的頭像 發表于 10-09 11:44 ?531次閱讀
    <b class='flag-5'>Redis</b><b class='flag-5'>持久</b><b class='flag-5'>化</b>機制介紹

    Redis持久RDB方式介紹

    Redis持久 Redis是一個內存數據庫,為了保證數據的持久性,它提供了兩種持久
    的頭像 發表于 10-09 14:56 ?547次閱讀
    <b class='flag-5'>Redis</b><b class='flag-5'>持久</b><b class='flag-5'>化</b>RDB方式介紹

    redis持久方式有幾種及配置

    Redis是一種內存數據庫,為了避免數據丟失,需要將數據持久到磁盤上。Redis提供了兩種持久
    的頭像 發表于 12-04 11:09 ?698次閱讀

    redis兩種持久方式的區別

    的完整性和一致性。 Redis提供了兩種持久方式:RDB(Redis Database)和AOF(Append Only File)。這兩
    的頭像 發表于 12-04 11:12 ?567次閱讀

    redis持久方式RDB和AOF的區別

    Redis 是一個高性能的鍵值對數據庫,提供了兩種持久方式:RDB 和 AOF。RDB 是將 Redis 的數據快照保存到磁盤上,而
    的頭像 發表于 12-04 16:25 ?824次閱讀

    redis持久機制和如何實現持久

    Redis是一款高性能的非關系型數據庫,其持久機制是保證數據在重啟后仍能夠保存的關鍵。Redis提供了兩種方式來實現持久
    的頭像 發表于 12-05 10:02 ?507次閱讀

    redis持久機制優缺點

    持久機制:RDB(Redis Database)和AOF(Append Only File)。 RDB持久
    的頭像 發表于 12-05 10:03 ?772次閱讀

    redis里數據什么時候持久

    Redis是一種開源的高性能、非關系型內存數據庫,它使用了鍵值對存儲數據,并且支持多種數據結構。 Redis提供了持久機制,以確保在服務器重啟后數據不會丟失。
    的頭像 發表于 12-05 10:05 ?495次閱讀

    云容器redis持久配置

    丟失。 Redis提供了不同的持久機制,可以根據需要進行配置。本文將詳細介紹云容器中Redis持久
    的頭像 發表于 12-05 10:07 ?549次閱讀

    redis持久rdb和aof一起用好處

    Redis是一個流行的內存數據庫,它通過使用不同的持久機制來確保數據的持久性。RDB和AOFRedi
    的頭像 發表于 12-05 10:17 ?819次閱讀
    主站蜘蛛池模板: 老师今晚让你爽个够 | 国产毛片农村妇女aa板 | 亚洲精品蜜桃久久久久久 | 国产大乳孕妇喷奶水在线观看 | 一级女人毛片人一女人 | 欧美不在线 | 夜夜摸天天操 | 欧美三j片 | 亚洲成人免费观看 | 亚洲精品老司机综合影院 | 国产福利午夜自产拍视频在线 | 色多多免费观看在线 | 欧美操bb | 在线小视频你懂的 | 丁香婷婷网 | 色视频一区| 天天色天天色天天色 | 婷婷六月色 | 免费高清一级欧美片在线观看 | 欧美日韩中文字幕 | 夜夜精品视频 | 欧美色亚洲图 | 黄色小毛片 | 亚洲视频高清 | 四虎影院新地址 | 成人国产日本亚洲精品 | 中国特级毛片 | 免费视频久久看 | 日产精品卡二卡三卡四卡乱码视频 | 免费在线观看一区二区 | 深爱开心激情 | 久久天天躁狠狠躁狠狠躁 | 日本视频一区二区三区 | 丁香婷婷成人 | 亚州人成网在线播放 | 人操人操 | 五月综合久久 | 国产精品福利一区二区亚瑟 | 91精品欧美激情在线播放 | 一色屋精品免费视频 视频 一色屋免费视频 | 亚洲欧美日韩另类精品一区二区三区 |