Redis 客户端

通过使用由I/O多路复用技术实现的文件事件处理器,Redis服务器使用单线程单进程的方式来处理命令请求,并与多个客户端进行网络通信。

redisClient结构保存客户端的数据结构:

  • 套接字描述符
  • 名字
  • 标志位
  • 正在使用的数据库指针,数据库号码
  • 当前要执行的命令、参数、参数个数,以及指向命令实现函数的指针
  • 输入缓冲和输出缓冲
  • 复制状态信息和复制所需数据结构
  • 执行BRPOP、BLPOP等列表阻塞命令时使用的数据结构
  • 事物状态,执行WATCH命令用到的数据结构
  • 执行发布和订阅用到的数据结构
  • 身份验证标志
  • 创建时间、最后一次通信时间,输出缓冲区大小超出软性限制的事件

  1. 客户端状态fd属性记录正在使用的套接字描述符,伪客户端(来源于AOF文件或Lua脚本)的fd属性值为-1,普通客户端值为大于-1的整数。
  2. 一般情况,客户端是没有名字的,可以使用 CLIENT setname 命令为客户端设置名字。
  3. 标志可以是单个标志也可以是多个标志的二进制,记录客户端的角色和当前状态。



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