客户端

在服务器中,对于所有连接的客户端都会保存在一个链表里面

所以redisclient里面的客户端状态其实就有很多属性

(1)fd套接字描述符

根据fd值那么客户端也不同,如果是-1就是伪客户端,否则就是网络连接的客户端

(2)名字

如果不设置位NULL

(3)标识:

比如主从REDIS_MASTER,REDIS_SLAVE

输入缓冲区:不能操作1GB,否则server强制关闭这个客户端

输出缓冲器:有两个,一个是固定的,一个是可变的。固定的是16kb,存储一些短的,常亮,可变的其实是一个链表,可伸缩

argc,argv:命令的参数和个数

身份验证:redis有个属性的进行验证了,如果server开启了服务器验证的配置,那么如果这个属性为0,client发送的任何命令都不会被收到,只有执行AUTH才可以。当变为1的时候,就可以执行了

 

时间:一个是connnect的时间,还有一个是上一次执行的时间,用来计算空转时长idle

关闭客户端:对于输出缓冲区的长度可变,其实是有一个限制,分为硬限制和软限制

硬限制:如果超过了,立刻关闭

:软限制:超过了不会立刻关闭,server会继续监视,如果在设置的时长内,一直超出软限制,就会关闭这个client连接

 

posted @ 2017-06-25 21:22  柳下_MBX  阅读(336)  评论(0编辑  收藏  举报