當前位置:編程學習大全網 - 源碼下載 - redis 命令執行過程

redis 命令執行過程

redis數據淘汰原理

redis過期數據刪除策略

redis server事件模型

redis cluster mget 引發的討論

redis 3.x windows 集群搭建

redis 命令執行過程

redis string底層數據結構

redis list底層數據結構

redis hash底層數據結構

redis set底層數據結構

redis zset底層數據結構

redis 客戶端管理

redis 主從同步-slave端

redis 主從同步-master端

redis 主從超時檢測

redis aof持久化

redis rdb持久化

redis 數據恢復過程

redis TTL實現原理

redis cluster集群建立

redis cluster集群選主

?這篇文章的目的是為了描述redis server在處理client命令的執行過程,大概包括流程圖、源碼、以及redis的命令格式說明,redis的通信協議參考自redis的 官網

?整個redis的server端命令執行過程就如下面這個流程圖:

?nread = read(fd, c->querybuf+qblen, readlen);負責讀取命令數,通過processInputBuffer進行下壹步處理。

?核心在於processInlineBuffer處理內聯命令,processMultibulkBuffer處理批量命令包括get/set等,核心的processCommand用於執行命令。

?執行命令的過程其實主要是尋找命令對應的執行函數,通過lookupCommand查找對應的執行命令,通過call執行命令。

?負責執行命令 c->cmd->proc 並更新統計信息,執行完成後負責同步數據 propagate

?主要是負責同步數據到AOF文件和slave節點,feedAppendOnlyFile負責同步到AOF文件,replicationFeedSlaves負責同步

?AOF涉及的緩存有多份,包括

?包含了命令和對應執行函數的映射關系,應該看上去很清晰命令。

協議的壹般格式如下,註意前面的*或者$等字符,結尾的\r\n是分隔符。

其中, 回復中的第二個元素為空。

  • 上一篇:張柏芝獨立撫養三個孩子,在妳的三觀裏,她是壹個偉大的母親嗎?
  • 下一篇:如何創建壹個大數據平臺
  • copyright 2024編程學習大全網