原创 Redis之事件模型

介紹 Memcached的底層網絡驅動部分直接使用了libevent,其實Redis使用libevent也是可以,僅僅使用其event_base完全可以行得通。但是作者爲什麼需要自己造個輪子,可能作者覺得libevent封裝得過於

原创 Redis之數據庫結構體

介紹 Redis支持數據類型有5種,這是指的鍵值對中的值的類型有5種。那麼這個應該用什麼存儲呢。當然是hash表了。也就是通過使hashtable內部的value類型(指針指向對應的數據結構)是前面講解的一些數據結構。那麼就可以實

原创 Redis之字典(hashtable)

1、介紹 字典採用hashtable實現,碰撞採用拉鍊法,也就是通過鏈表聯結key的hash值相同的節點。看過STL內部hash實現,這個就很容易,重新造了個輪子。套路,指針數組+多條鏈表。 2、實現 1、結構體之道 寫任何代碼,

原创 Valgrind

Valgrind介紹 Valgrind是運行在Linux上一套基於仿真技術的程序調試和分析工具,是公認的最接近Purify的產品,它包含一個內核——一個軟件合成的CPU,和一系列的小工具,每個工具都可以完成一項任務——調試,分析,

原创 Redis之數據持久化

介紹 Redis是內存數據庫,斷電之後,內存中的數據會自動被抹除。這樣就需要進行持久化操作,將內存中的數據同步到硬盤中,Redis支持兩種數據持久化方法。RDB和AOF模式。 RDB 1、介紹 RDB(Redis DataBase

原创 模板模式

介紹 對於某一個業務邏輯(算法實現)在不同的對象中有不同的細節實現,但是邏輯(算法) 的框架(或通用的應用算法)是相同的。Template提供了這種情況的一個實現框架。Template模式是採用繼承的方式實現這一點:將邏輯(算法)

原创 單例模式

參考 什麼是單例模式 應該怎樣去創建一個唯一的變量或對象?在基於對象的設計中我們可以通過創建一個全局變量或對象來實現,在面向對象和麪向過程結合的設計範式(如C++中) 中,我們也還是可以通過一個全局變量實現這一點。 但是當我們遇到

原创 Redis之事務處理

介紹 實現 點贊 收藏 分享 文章舉報 有時需要偏執狂 發佈了242 篇原創文章 · 獲贊 110 · 訪問量 18萬+ 私信

原创 設計模式分類

創建型模式 工廠模式 單例模式 建造模式 原型模式 點贊 收藏 分享 文章舉報 有時需要偏執狂 發佈了242 篇原創文章 · 獲贊 110 · 訪問量 18萬+

原创 原型模式

淺拷貝和深拷貝 拷貝構造函數調用的條件有以下幾個 用類的一個對象初始化該類的另一個對象時 如果函數的形參是類的對象,調用函數時,進行形參和實參結合時. 如果函數的返回值是類的對象,函數執行完成返回調用者時. 需要產生一個臨時類

原创 2019年秋招提前批麪筋

綜述 本人非科班生,本科普通二本院校、碩士西安某末流985,本碩專業都是電子與通信工程,基本做的東西離不開單片機、DSP、FPGA、STM32,先前完全沒有接觸過網絡、數據結構算法等。研二上學期想往互聯網轉,所以自學了一年計算機專業的

原创 英文單詞記錄

recursion:遞歸 whereas:然而 partition:分割,劃分 partitioning:分割區 shuffle:洗牌,搬移 maintain:維護,保持 as long as:只要,如果 out of place:

原创 TCP/IP協議理論

參考文獻: 《TCP-IP詳解卷一:協議》 《用TCP-IP進行網際互聯第一卷:原理、協議與結構》 《LwIP協議深度剖析與實戰演練》 《嵌入式Internet TCP IP基礎、實現及應用》 TCP/IP協議族通俗綜述

原创 從零開始實現簡單的WebServer之八封裝簡單多線程HTTP服務器

介紹 在回顯服務器上面修改即可