原创 Redis源碼剖析和註釋(九)--- 字符串命令的實現(t_string)

Redis 字符串鍵的實現(t_string) 1. 字符串命令介紹 redis中的所有字符串命令如下:字符串類型命令詳解 序號 命令及描述 1 SET key value:設置指定 key 的值 2 GET ke

原创 Redis 學習筆記(十一)基數統計(HyperLogLog)

Redis 學習筆記(十一)基數統計(HyperLogLog) 1. 介紹 HyperLogLog命令是redis在2.8版本中加入的,Redis中HyperLogLog是用來做基數統計的。 HyperLogLog 的優點是,在輸

原创 Redis源碼剖析和註釋(二十)--- 網絡連接庫剖析(client的創建/釋放、命令接收/回覆、Redis通信協議分析等)

Redis 網絡連接庫剖析 1. Redis網絡連接庫介紹 Redis網絡連接庫對應的文件是networking.c。這個文件主要負責 客戶端的創建與釋放 命令接收與命令回覆 Redis通信協議分析 CLIENT 命令的實現 我們接下

原创 Redis 學習筆記(十五)Redis Cluster 集羣擴容與收縮

Redis Cluster 集羣伸縮 1. 伸縮原理 Redis提供了靈活的節點擴容和收縮方案。在不影響集羣對外服務的情況下,可以爲集羣添加節點進行擴容也可以對下線節點進行縮容。 我們在Redis Cluster 介紹與搭建這篇文章中搭建

原创 Redis 學習筆記(十三)Redis Sentinel 介紹與部署

Redis Sentinel 介紹與部署 1. Sentinel介紹 1.1 主從複製的問題 Redis主從複製可將主節點數據同步給從節點,從節點此時有兩個作用: 一旦主節點宕機,從節點作爲主節點的備份可以隨時頂上來。 擴展主節點的讀能

原创 Redis 學習筆記(十四)Redis Cluster介紹與搭建

Redis Cluster 介紹與搭建 1. Redis Cluster介紹 Redis Cluster是Redis的分佈式解決方案,在Redis 3.0版本正式推出的,有效解決了Redis分佈式方面的需求。當遇到單機內存、併發、流量等瓶

原创 Redis源碼剖析和註釋(二十三)--- Redis Sentinel實現(哨兵的執行過程和執行的內容)

Redis Sentinel實現(上) 1. Redis Sentinel 介紹和部署 請參考Redis Sentinel 介紹與部署 sentinel.c文件詳細註釋:Redis Sentinel詳細註釋 本文會分爲兩篇分別接受Redi

原创 Redis源碼剖析和註釋(二十八)--- Redis 事務實現和樂觀鎖

Redis 事務實現和樂觀鎖 1. 事務的介紹 Redis事務(transaction)提供了以下五個命令,用於用戶操作事務功能,其分別是: 命令 功能 MULTI 標記一個事務塊的開始 DISCARD 放棄執行事務

原创 Redis源碼剖析和註釋(二十六)--- Redis 集羣伸縮原理源碼剖析

Redis Cluster 集羣伸縮原理源碼剖析 1. Redis 集羣伸縮教程 Redis提供了靈活的節點擴容和收縮方案。在不影響集羣對外服務的情況下,可以爲集羣添加節點進行擴容也可以對下線節點進行縮容。 如何進行Redis Clust

原创 gcc 編譯工具(下)--- 外部庫、共享庫、靜態庫、動態庫

gcc 編譯工具(下)— 外部庫、共享庫、靜態庫、動態庫 1. 頭文件與庫文件 在使用C語言和其他語言進行程序設計時,需要頭文件來提供對常數的定義和對系統及函數調用的聲明。 庫文件是一些預先編譯好的函數集合,那些函數都是按照可重用原則編

原创 Redis源碼剖析和註釋(二十五)--- Redis Cluster 的通信流程深入剖析(載入配置文件、節點握手、分配槽)

Redis Cluster 通信流程深入剖析 1. Redis Cluster 介紹和搭建 請查看這篇博客:Redis Cluster 介紹與搭建 這篇博客會介紹Redis Cluster的數據分區理論和一個三主三從集羣的搭建。 Redi

原创 Redis源碼剖析和註釋(二十一)--- 單機服務器實現

Redis 單機服務器實現 1. Redis 服務器 Redis服務器負責與客戶端建立網絡連接,處理髮送的命令請求,在數據庫中保存客戶端執行命令所產生的數據,並且通過一系列資源管理措施來維持服務器自身的正常運轉。本次主要剖析server.

原创 Redis源碼剖析和註釋(二十四)--- Redis Sentinel實現(哨兵操作的深入剖析)

Redis Sentinel實現(下) 本文是Redis Sentinel實現(上)篇文章的下半部分剖析。主要剖析以下內容: 4. 哨兵的使命 Redis Sentinel實現下 哨兵的使命 1 週期性的操作 11 建立連接 12 發

原创 gcc 編譯工具(上)--- 編譯過程和原理淺析

gcc 編譯工具(上)— 編譯過程和原理淺析 1. 什麼是gcc gcc(GNU C Compiler)編譯器的作者是Richard Stallman,也是GNU項目的奠基者。 gcc是GNU Compiler Collection的縮

原创 Redis源碼剖析和註釋(二十二)--- Redis 複製(replicate)源碼詳細解析

Redis 複製(replicate)實現 1. 複製的介紹 Redis爲了解決單點數據庫問題,會把數據複製多個副本部署到其他節點上,通過複製,實現Redis的高可用性,實現對數據的冗餘備份,保證數據和服務的高度可靠性。 關於複製的詳細配