redis 客户端

服务器状态结构使用clients链表连接器多个客户端状态,新添加的客户端状态会被放到链表末尾。
客户端状态的flags属性使用不同标志来表示客户端的角色,以及客户端当前所处的状态。
输入缓冲区记录了客户端发送的命令请求,这个缓冲区的大小不能超过1GB。
命令的参数和参数个数会被记录在客户端状态的argv和argc属性里面,而cmd属性则记录了客户端要执行的实现函数。
客户端有固定大小缓冲区和可变大小缓冲区两种缓冲可用,其中固定大小缓冲区的醉大大小为16kb,而可变大小缓冲区的最大大小不能超过服务器设置的硬性限制。
输出缓冲区限制值有两种,如果输出缓冲区的大小超过了服务器设置的硬性限制,那么客户端会被立即关闭;除此之外,如果客户端在一定时间内,一直超过服务器设置的软性限制,那么客户端也会被关闭。
当一个客户端通过网络连接连上服务器时,服务器会为这个客户端创建相应的客户端状态。网络连接关闭、发送了不合协议格式的命令请求、成为CLIENT KILL命令的目标、空转时间超时、输出缓冲区的大小超出限制,以上这些原因都会造成客户端被关闭。
处理LUA脚本的伪客户端在服务器初始化时创建,且会一直存在,直到服务器关闭。
载入AOF文件时使用的位客户端在载入工作开始时动态创建,载入工作完毕之后关闭。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 客户端 Redis服务器状态结构的clients属性是一个链表,这个链表保存了所有与服务器连接的客户端状态结构: ...
    涵仔睡觉阅读 720评论 0 0
  • 服务器为每一个连接的客户端创建数据结构redisClient(记录了客户端信息,比如套接字描述符),如果有多个客户...
    packet阅读 1,200评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,156评论 19 139
  • PPT营销力-17期90天陪伴践行 班规 第一部分日常管理规则 1.班级实行每周例会制度。每周二早上6:00-7:...
    jasoncheungchen阅读 539评论 0 0
  • 复盘过去的2017年用一句话总结就是:想做的、该做的都没有做好,杂乱无章忙忙碌碌之中一年又匆匆而过,没有什么收获。...
    舒哲小义阅读 352评论 1 1