原创 redis源碼分析之異步進程保存數據rdb文件和aof文件源碼分析

===================================================== redis源碼學習系列文章: redis源碼分析之sha1算法分析 redis源碼分析之字典源碼分析 redis源碼分析之

原创 ping的原理的解析和 ICMP協議, 網絡工具

前言 最近和同事測試網絡帶寬問題, 分析網絡穩定性的問題時,在網上沒有找到合適工具, 我發現網上測試網絡帶寬的原理都是ping一樣的原理就研究一下 ping工具一直是我們使用測量網絡是否相通。它的應用有很多,比如我們經常測試網絡的

原创 MySQL的InnoDB的表數據存儲原理和優化原理分析

前言 正文 1, InnoDB行記錄格式 InnoDB存儲引擎和大多數據庫一樣,記錄是以行的形式存儲的。 這意味着頁中保存着表中一行行的數據。到MySQL5.1時,InnoDB存儲引擎提供了Compact和Redundant兩種格

原创 MySQL的存儲引擎的使用場景分析

前言 MySQL在我們日常開發中經常使用存儲數據使用, 但是出現問題優化和存儲引擎的選擇適合我們實際業務場景,就要對MySQL的存儲索引的原理要有所瞭解。 正文 一, MySql的存儲引擎介紹 ① InnoDB存儲引擎 Inno

原创 優雅的交流的注意點-能量的發源地-潛意識

前言 工作中要和不同人交流, 就需要如何帶動周圍人積極性,需要個人的領導能力和積極心態。 正文 一, 交流 交流時親切自然,話題力求輕鬆活潑,是成爲一個善於言辭的健談必須修煉的第一步。發自內心的真摯, 熱忱與同情心能夠推動在場的

原创 Libevent的事件驅動源碼分析(三)之反應堆的設計

前言 網絡編程使用基本都是反應堆(reactor) 著名C++標準的Boost中asio使用reactor模式, 它的io線程是安全的, libevent使用io也使用該模式 正文 一, reactor模式 1, 採用基於事件

原创 Libevent的事件驅動源碼分析(二)

前言 libevent線程是不安全的, 現在服務器都是多核的如何充分使用cpu就要使用多線程。 正文 一, 談談libevent如何使用多線程呢 我們在上學的時候, 經常去學校的食堂吃飯。 有幾種情況 1, 一個窗口排隊等待打飯

原创 Libevent的事件驅動源碼分析(一)

前言 Libevent 是一個用C語言編寫的、輕量級的開源高性能事件通知庫,主要有以下幾個亮點:事件驅動( event-driven),高性能;輕量級,專注於網絡,不如 ACE 那麼臃腫龐大;源代碼相當精煉、易讀;跨平臺,支持 W

原创 遊戲服務器功能模塊

一, 遊戲服務器之內存調優 二, 遊戲服務器之內存池分配 三, 遊戲服務器之任務系統 四, 遊戲服務器之紅點功能 五, 遊戲服務器之聊天系統 六, 遊戲服務器之地圖系統 七, 遊戲服務器之NPC 八, 遊戲服務器之成就功能 九,

原创 德州撲克和短牌的算法分析

前言 最近由於公司的業務的擴展 增加短牌玩法, 這個短牌算法我在github上找很長時間都沒有找到開源了。 最後我只能自己寫短牌的算法 正文 一, 分析撲克數據 1, 一張牌在內存怎麼存放的 紅桃A是放在int類型中 int是32

原创 thrift的TCompactProtocol和TMemoryBuffer類分析

前言 架構 Apache Thrift API CS架構 Thrift包含一套完整的棧來創建客戶端和服務端程序。[7]頂層部分是由Thrift定義生成的代碼。而服務則由這個文件客戶端和處理器代碼生成。在生成的代碼裏會創建不同於內建

原创 TiDB和kong

今天很榮幸參加GGV資源資本微服務開源技術的交流會 一, TiDB 1,TiDB介紹 TiDB 是 PingCAP 公司設計的開源分佈式 HTAP (Hybrid Transactional and Analytical Proc

原创 Linux的poll, select和epoll的原理分析

後期將分析Linux內核的實現, 現在佔一下坑 前言 正文 結語

原创 遇到程序崩潰(core dump) 重載C++的operator函數

前言 今天在項目遇到operator函數問題, 導致程序崩潰了(core dump), 這個問題對於做後端的是非常嚴重的問題。 接觸C++人的都知道operator函數, 今天查這個問題將近2個小時, 始終不明白爲什麼會崩潰了。

原创 突破FD_SETSIZE限制的連接數之boost庫的asio的中fd_set的適配器的設計

前言 這個也我在公司的使用自己寫庫clib中在win上連接服務器時中只能連接63個的客戶端,這個我一開始還以爲是自己的配置文件中配置問題呢 就沒有注意這個問題。 直到最近自己服務器上業務寫完了, 需要壓力測試時, 這個問題我可