码迷,mamicode.com
首页 > 其他好文 > 详细

Redis深入学习笔记(二)client list 命令详解

时间:2018-02-28 20:46:00      阅读:2157      评论:0      收藏:0      [点我收藏+]

标签:add   .com   返回   png   技术分享   客户端   sla   server   执行命令   

Redis的client list 命令可以获取当前连接到redis server端的所有客户端以及相关状态,本篇主要介绍每一个参数的作用。

clisnt list 命令输出结果如下:

技术分享图片

(1)标识:id、addr、fd、name这四个属性属于客户端的标识:

    id:客户端连接的唯一标识,这个id是随着Redis的连接自增的,重启Redis后会重置为0。

    addr:客户端连接的ip和端口。

    fd:socket的文件描述符,与lsof命令结果中的fd是同一个,如果fd=-1代表当前客户端不是外部客户端,而是Redis内部的伪装客户端。

    name:客户端的名字,后面的client setName和client getName两个命令会对其进行说明。

(2)输入缓冲区:qbuf、qbuf-free

    Redis为每个客户端分配了输入缓冲区,它的作用是将客户端发送的命令临时保存,同时Redis从会输入缓冲区拉取命令并执行,输入缓冲区为客户端发送命令到Redis执行命令提供了缓冲功能。qbuf和qbuf-free分别代表这个缓冲区的总容量和剩余容量Redis没有提供相应的配置来规定每个缓冲区的大小,输入缓冲区会根据输入内容大小的不同动态调整,只是要求每个客户端缓冲区的大小不能超过1G,超过后客户端将被关闭。

(3)输出缓冲区:obl、oll、omem

    Redis为每个客户端分配了输出缓冲区,它的作用是保存命令执行的结果返回给客户端,为Redis和客户端交互返回结果提供缓冲,与输入缓冲区不同的是,输出缓冲区的容量可以通过参数client-output-buffer-limit来进行设置,并且输出缓冲区做得更加细致,按照客户端的不同分为三种:普通客户端、发布订阅客户端、slave客户端。

    输出缓冲区由两部分组成:固定缓冲区(16KB)和动态缓冲区,固定缓冲区使用的是字节数组,动态缓冲区使用的是列表。当固定缓冲区存满后会将Redis新的返回结果存放在动态缓冲区的队列中,队列中的每个对象就是每个返回结果

    obl代表固定缓冲区的长度,oll代表动态缓冲区列表的长度,omem代表使用的字节数。

所有参数作用:

技术分享图片

技术分享图片

注:文中图片皆来自书中。

 

下一篇会介绍RDB的流程

Redis深入学习笔记(二)client list 命令详解

标签:add   .com   返回   png   技术分享   客户端   sla   server   执行命令   

原文地址:https://www.cnblogs.com/iamsach/p/8485461.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!