欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Redis實(shí)現(xiàn)持久化的方式匯總

 更新時(shí)間:2022年10月13日 08:33:02   作者:Lincee  
Redis是一種高級(jí)key-value數(shù)據(jù)庫(kù)。它跟memcached類似,不過(guò)數(shù)據(jù)可以持久化,而且支持的數(shù)據(jù)類型很豐富。今天我們就來(lái)看看如何實(shí)現(xiàn)Redis持久化,需要的朋友可以參考下

Redis有3種實(shí)現(xiàn)持久化的方式:AOF日志、RDB快照、混合持久化

Redis寫入AOF日志的過(guò)程

Redis執(zhí)行完寫操作命令后,將命令追加到server.aof_buf緩沖區(qū)
通過(guò)write()系統(tǒng)調(diào)用,將aof_buf緩沖區(qū)的數(shù)據(jù)寫入到AOF文件
數(shù)據(jù)被拷貝到了內(nèi)核緩沖區(qū)page cache
由內(nèi)核決定何時(shí)將數(shù)據(jù)寫入硬盤

Redis實(shí)現(xiàn)RDB快照

生成 RDB 文件的兩個(gè)命令:save 和 bgsave

執(zhí)行save命令會(huì)在主線程生成RDB文件,執(zhí)行bgsave命令會(huì)創(chuàng)建一個(gè)子進(jìn)程來(lái)生成RDB文件

執(zhí)行bgsave命令時(shí),會(huì)通過(guò)fork()創(chuàng)建子進(jìn)程,子進(jìn)程和父進(jìn)程共享同一片內(nèi)存數(shù)據(jù)。因?yàn)閯?chuàng)建子進(jìn)程的時(shí)候,子進(jìn)程復(fù)制父進(jìn)程的頁(yè)表,但頁(yè)表指向的物理內(nèi)存還是一個(gè)。如果主線程執(zhí)行讀操作,則主線程和 bgsave 進(jìn)程互不影響;如果主線程執(zhí)行寫操作,則被修改的數(shù)據(jù)會(huì)復(fù)制一份副本,然后 bgsave 子進(jìn)程會(huì)把該副本數(shù)據(jù)寫入 RDB 文件,在這個(gè)過(guò)程中,主線程仍然可以直接修改原來(lái)的數(shù)據(jù)

混合持久化

在AOF日志重寫過(guò)程,當(dāng)開(kāi)啟了混合持久化時(shí),在AOF重寫日志時(shí),fork出來(lái)的重寫子進(jìn)程會(huì)先將與主線程共享的內(nèi)存數(shù)據(jù)以RDB方式寫到AOF文件,然后主線程處理的操作命令會(huì)被記錄在重寫緩沖區(qū),重寫緩沖區(qū)里的增量命令會(huì)以AOF方式寫入到AOF文件,寫入完成后通知主進(jìn)程將含有的RDB格式和AOF格式的AOF文件替換舊版。

到此這篇關(guān)于Redis實(shí)現(xiàn)持久化的方式匯總的文章就介紹到這了,更多相關(guān)Redis實(shí)現(xiàn)持久化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Redis調(diào)用Lua腳本及使用場(chǎng)景快速掌握

    Redis調(diào)用Lua腳本及使用場(chǎng)景快速掌握

    Redis?是一種非常流行的內(nèi)存數(shù)據(jù)庫(kù),常用于數(shù)據(jù)緩存與高頻數(shù)據(jù)存儲(chǔ)。大多數(shù)開(kāi)發(fā)人員可能聽(tīng)說(shuō)過(guò)redis可以運(yùn)行?Lua?腳本,但是可能不知道redis在什么情況下需要使用到Lua腳本
    2022-03-03
  • redis.conf中使用requirepass不生效的原因及解決方法

    redis.conf中使用requirepass不生效的原因及解決方法

    本文主要介紹了如何啟用requirepass,以及啟用requirepass為什么不會(huì)生效,從代碼層面分析了不生效的原因,以及解決方法,需要的朋友可以參考下
    2023-07-07
  • Redis實(shí)現(xiàn)商品秒殺的示例代碼

    Redis實(shí)現(xiàn)商品秒殺的示例代碼

    本文主要介紹了Redis實(shí)現(xiàn)商品秒殺的示例代碼,詳細(xì)介紹了Redis的List、Set和Hash類型,以及使用Redis事務(wù)保證原子性的方式,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • redis持久化AOF和RDB的區(qū)別及解決各個(gè)場(chǎng)景問(wèn)題示例

    redis持久化AOF和RDB的區(qū)別及解決各個(gè)場(chǎng)景問(wèn)題示例

    這篇文章主要為大家介紹了redis持久化AOF和RDB的區(qū)別及解決各個(gè)場(chǎng)景問(wèn)題示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • Redis在項(xiàng)目中常見(jiàn)的12種使用場(chǎng)景示例和說(shuō)明

    Redis在項(xiàng)目中常見(jiàn)的12種使用場(chǎng)景示例和說(shuō)明

    Redis是一個(gè)開(kāi)源的高性能鍵值對(duì)數(shù)據(jù)庫(kù),它以其內(nèi)存中數(shù)據(jù)存儲(chǔ)、鍵過(guò)期策略、持久化、事務(wù)、豐富的數(shù)據(jù)類型支持以及原子操作等特性,在許多項(xiàng)目中扮演著關(guān)鍵角色,以下是整理的12個(gè)Redis在項(xiàng)目中常見(jiàn)的使用場(chǎng)景舉例說(shuō)明和解釋
    2024-06-06
  • redis遠(yuǎn)程連接不上的解決辦法

    redis遠(yuǎn)程連接不上的解決辦法

    本文主要介紹了redis遠(yuǎn)程連接不上的解決辦法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • 淺析Redis Sentinel 與 Redis Cluster

    淺析Redis Sentinel 與 Redis Cluster

    本文主要介紹Redis Sentinel 及 Redis Cluster的區(qū)別及用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • 幾分鐘教你掌握Redis簡(jiǎn)單動(dòng)態(tài)字符串SDS

    幾分鐘教你掌握Redis簡(jiǎn)單動(dòng)態(tài)字符串SDS

    這篇文章主要為大家介紹了幾分鐘教你掌握Redis簡(jiǎn)單動(dòng)態(tài)字符串SDS方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 深入淺析Redis 集群伸縮原理

    深入淺析Redis 集群伸縮原理

    Redis 集群提供了靈活的節(jié)點(diǎn)擴(kuò)容和收縮方案。在不影響集群對(duì)外服務(wù)的情況下,可以為集群添加節(jié)點(diǎn)進(jìn)行擴(kuò)容,也可以下線部分節(jié)點(diǎn)進(jìn)行縮容,接下來(lái)通過(guò)本文給大家分享Redis 集群伸縮原理,感興趣的朋友一起看看吧
    2021-05-05
  • Redis的數(shù)據(jù)類型和內(nèi)部編碼詳解

    Redis的數(shù)據(jù)類型和內(nèi)部編碼詳解

    Redis是通過(guò)Key-Value的形式來(lái)組織數(shù)據(jù)的,而Key的類型都是String,而Value的類型可以有很多,在Redis中最通用的數(shù)據(jù)類型大致有這幾種:String、List、Set、Hash、Sorted Set,下面通過(guò)本文介紹Redis數(shù)據(jù)類型和內(nèi)部編碼,感興趣的朋友一起看看吧
    2024-04-04

最新評(píng)論