Redis 客戶端

通過使用由I/O多路複用技術實現的文件事件處理器,Redis服務器使用單線程單進程的方式來處理命令請求,並與多個客戶端進行網絡通信。

redisClient結構保存客戶端的數據結構:

  • 套接字描述符
  • 名字
  • 標誌位
  • 正在使用的數據庫指針,數據庫號碼
  • 當前要執行的命令、參數、參數個數,以及指向命令實現函數的指針
  • 輸入緩衝和輸出緩衝
  • 複製狀態信息和複製所需數據結構
  • 執行BRPOP、BLPOP等列表阻塞命令時使用的數據結構
  • 事物狀態,執行WATCH命令用到的數據結構
  • 執行發佈和訂閱用到的數據結構
  • 身份驗證標誌
  • 創建時間、最後一次通信時間,輸出緩衝區大小超出軟性限制的事件

  1. 客戶端狀態fd屬性記錄正在使用的套接字描述符,僞客戶端(來源於AOF文件或Lua腳本)的fd屬性值爲-1,普通客戶端值爲大於-1的整數。
  2. 一般情況,客戶端是沒有名字的,可以使用 CLIENT setname 命令爲客戶端設置名字。
  3. 標誌可以是單個標誌也可以是多個標誌的二進制,記錄客戶端的角色和當前狀態。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章