美文网首页Java相关
Redis - 客户端

Redis - 客户端

作者: 万福来 | 来源:发表于2020-03-31 18:25 被阅读0次

    Redis - 客户端

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

    相关文章

      网友评论

        本文标题:Redis - 客户端

        本文链接:https://www.haomeiwen.com/subject/qbdguhtx.html