redis之redis客户端

redis服务器是典型的一对多服务器程序

一个服务器处理多个客户端

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

 

1.redisserver有list* clients保存客户端状态

套接字描述    fd=-1或者大于-1                                                                                                                                                                  (1)伪客户端的fd属性的值可以是-1(请求来源AOF文件或者Lua脚本执行redis命令)

一般客户端的套接字是ip地址加上端口号

2.名字

3.标志

4.输入缓冲区:暂时保存在客户端输入命令!,可以根据实际内容扩大缩小,但它的大小不能超过1G,否则关闭

5.输出缓冲区:

  • 大小固定的缓冲区buf(int bufpos未使用)
  • 可动态扩展缓冲区reply     首先使用buf 然后使用reply

6。argv保存命令和参数

      argc数组

7.身份验证标记

8.客户端的创建和关闭

  • 创建   客户端通过网络连接,服务器调用链接事件处理器,微客户端创建相对应的键空间状态,然后压入服务器状态中。

关闭:

  • 客户端正常关闭
  • 空转时间超长
  • 发送不符合协议的请求
  • 输入输出缓存溢出

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值