Redis 重點回顧

2018-08-02 14:54 更新
  • 服務器狀態(tài)結(jié)構使用 clients 鏈表連接起多個客戶端狀態(tài), 新添加的客戶端狀態(tài)會被放到鏈表的末尾。
  • 客戶端狀態(tài)的 flags 屬性使用不同標志來表示客戶端的角色, 以及客戶端當前所處的狀態(tài)。
  • 輸入緩沖區(qū)記錄了客戶端發(fā)送的命令請求, 這個緩沖區(qū)的大小不能超過 1 GB 。
  • 命令的參數(shù)和參數(shù)個數(shù)會被記錄在客戶端狀態(tài)的 argv 和 argc 屬性里面, 而 cmd 屬性則記錄了客戶端要執(zhí)行命令的實現(xiàn)函數(shù)。
  • 客戶端有固定大小緩沖區(qū)和可變大小緩沖區(qū)兩種緩沖區(qū)可用, 其中固定大小緩沖區(qū)的最大大小為 16 KB , 而可變大小緩沖區(qū)的最大大小不能超過服務器設置的硬性限制值。
  • 輸出緩沖區(qū)限制值有兩種, 如果輸出緩沖區(qū)的大小超過了服務器設置的硬性限制, 那么客戶端會被立即關閉; 除此之外, 如果客戶端在一定時間內(nèi), 一直超過服務器設置的軟性限制, 那么客戶端也會被關閉。
  • 當一個客戶端通過網(wǎng)絡連接連上服務器時, 服務器會為這個客戶端創(chuàng)建相應的客戶端狀態(tài)。 網(wǎng)絡連接關閉、 發(fā)送了不合協(xié)議格式的命令請求、 成為 CLIENT_KILL 命令的目標、 空轉(zhuǎn)時間超時、 輸出緩沖區(qū)的大小超出限制, 以上這些原因都會造成客戶端被關閉。
  • 處理 Lua 腳本的偽客戶端在服務器初始化時創(chuàng)建, 這個客戶端會一直存在, 直到服務器關閉。
  • 載入 AOF 文件時使用的偽客戶端在載入工作開始時動態(tài)創(chuàng)建, 載入工作完畢之后關閉。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號