① redisclient命令行在那裡打
客戶端信息。RedisClient是Redis客戶端的GUI工具,命令行可以在客戶端信息打。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涉及的緩存有多份,包括
包含了命令和對應執行函數的映射關系,應該看上去很清晰命令。
協議的一般格式如下,注意前面的*或者$等字元,結尾的 是分隔符。
其中, 回復中的第二個元素為空。