原创 [redis 源碼走讀] rdb 持久化 - 應用場景

此博客將逐步遷移到作者新的博客,可以點擊此處進入。 rdb 文件是一個經過壓縮的二進制文件,是 redis 持久化方式之一。本章主要講 rdb 應用場景。 文章目錄配置異步持久化應用場景服務啓動加載數據命令數據定期持久化重寫

原创 第一次剪片

最近在 review 自己的知識,便於記錄,落地了不少文字。字不如表,表不如圖,圖不如視頻。抱着玩玩的心態,剪了一條與技術相關的小視頻,發覺還是挺有意思的 。 成果 視頻分享在:youtube / bilibili 系統

原创 fork 進程測試 copy-on-write

父進程 fork 子進程後,子進程通過 copy-on-write 模式獲得父進程內存,也就是子進程共用了大部分父進程內存,只有當子進程在修改自己進程內存後,共享部分,纔會把那些修改的拷貝出來,這樣可以節省系統大量內存分配。 系

原创 變量的內存分佈(Linux)

程序進程是不能直接訪問物理內存的,系統通過虛擬內存方式管理進程內存。 更精彩內容,可以關注我的博客:wenfh2020.com 圖片來源 《深入理解計算機系統》8.2.3 私有地址空間 工作流程 高級語言 -> 編譯器

原创 github + jekyll 建自己的博客

自從用 markdown 寫文檔之後,感覺就離不開它了。工作這麼久,遺憾沒有條理化地將知識實時落地,後面做了大量重複勞動。幸運 github 提供了一個很好的源碼管理和博客平臺。[我的博客][框架]來自Gaohaoyang,然而國

原创 [redis 源碼走讀] maxmemory 數據淘汰策略

redis 是內存數據庫,可以通過 redis.conf 配置 maxmemory,限制 redis 內存使用量。當 redis 主庫內存超出限制時,命令處理將會觸發數據淘汰機制,淘汰(key-value)數據,直至當前內存使用量

原创 十年工作總結 - 平凡之路

人生有多少個十年,總結是人生一個階段的覆盤。一首 《平凡之路》送給平凡的自己:——我曾經跨過山和大海,也穿過人山人海,我曾經擁有着的一切… 更精彩內容,可以關注我的博客:wenfh2020.com 興趣 興趣是最好的老師

原创 redis & gdb & vscode & debug 調試

可以通過 gdb / vscode 調試 redis 源碼,理解 redis 工作流程。 視頻 bilibili (Debug Redis in VsCode with Gdb) youtube (Debug Redis i

原创 [redis 源碼走讀] aof 持久化 (下)

[redis 源碼走讀] aof 持久化,文章篇幅有點長,所以拆分上下爲兩章,可以先讀上一章,再讀這一章。 此博客將逐步遷移到作者新的博客,可以點擊此處進入。 文章目錄應用場景啓動加載寫命令執行流程定時保存重寫重寫方式重寫實

原创 [redis 源碼走讀] rdb 持久化 - 文件結構

此博客將逐步遷移到作者新的博客,可以點擊此處進入。 rdb 文件是一個經過壓縮的二進制文件,上一章講了 rdb 持久化 - 應用場景,本章主要講述 rdb 文件的結構組成包含了哪些數據。 文章目錄rdb 臨時文件逐步持久化結

原创 [redis 源碼走讀] aof 持久化 (上)

aof (Append Only File) 是 redis 持久化的其中一種方式。 服務器接收的每個寫入操作命令,都會追加記錄到 aof 文件末尾,當服務器重新啓動時,記錄的命令會重新載入到服務器內存還原數據。這一章我們走讀一下

原创 [redis 源碼走讀] redis 過期策略

redis 可能存在大量過期數據,一次性遍歷檢查不太現實。redis 有豐富的數據結構,key-value, value 數據結構對象(redisObj)可能存儲大量數據,key 過期了,value 也不建議在進程中實時回收。爲了

原创 redis 持久化方式 - aof 和 rdb 區別

aof 和 rdb 是 redis 持久化的兩種方式。我們看看它們的特點和具體應用場景區別。 此博客將逐步遷移到作者新的博客,可以點擊此處進入。 文章目錄持久化特點aofrdb使用場景區別持久化詳細文檔 持久化特點 aof

原创 lru c++ 實現

LRU(Least recently used,最近最少使用),數據插入隊列中,經常訪問的數據單元靠近列表頭部,不經常訪問的靠近列表尾部。列表數據就像按照時間排序一樣。常用來淘汰一些長時間不使用的數據。 更精彩內容,可以關注我的

原创 [redis 源碼走讀] 事件 - 文件事件

redis 服務底層採用了異步事件管理(aeEventLoop):管理時間事件和文件事件。對於大量網絡文件描述符(fd)的事件管理,redis 建立在安裝系統對應的事件驅動基礎上(例如 Linux 的 epoll)。 關於事件