Redis深入学习笔记(二)client list 命令详解
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代表使用的字节数。
其他参数作用:
age:客户端连接存活时间
idle :客户端连接空闲时间
flags:客户端类型标识
db:当前客户端正在使用的数据库索引下标
sub/psub:当前客户端订阅的频道或者模式数
multi:当前事务中已执行的命令个数
event:文件描述符事件(r/w):r和w分别代表客户端套接字可读和可写
cmd:当前客户端最后一次执行的命令,不包含参数
下一篇会介绍RDB及AOF的流程
Redis深入学习笔记(二)client list 命令详解的更多相关文章
- [ kvm ] 学习笔记 5:QEMU-KVM 命令详解
1. QEMU.KVM .QEMU-KVM QEMU 提供了一系列的硬件模拟设备(cpu.网卡.磁盘等),客户机指令都需要QEMU翻译,因此性能较差.KVM 是Linux 内核提供的虚拟化模块,负责C ...
- linux命令学习笔记-kill和killall命令详解
*杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志. 首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令: # kill -pid 注释:标准的kill命令通常都能达到目 ...
- 小程序学习笔记二:页面文件详解之 .json文件
页面配置文件—— pageName.json 每一个小程序页面可以使用.json文件来对本页面的窗口表现进行配置,页面中配置项会覆盖 app.json 的 window 中相同的配置项. 页面的 ...
- docker学习笔记二:常用命令
docker学习笔记二:常用命令 查看docker常用命令 docker --help 返回结果如下: 其中常用的命令如下: 1.image相关操作 展示所有的image: 删除image: rmi ...
- IP地址和子网划分学习笔记之《IP地址详解》
2018-05-03 18:47:37 在学习IP地址和子网划分前,必须对进制计数有一定了解,尤其是二进制和十进制之间的相互转换,对于我们掌握IP地址和子网的划分非常有帮助,可参看如下目录详文. ...
- 零拷贝详解 Java NIO学习笔记四(零拷贝详解)
转 https://blog.csdn.net/u013096088/article/details/79122671 Java NIO学习笔记四(零拷贝详解) 2018年01月21日 20:20:5 ...
- Linux学习笔记二:tar命令使用
tar命令详解 tar命令详解 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的 ...
- Shell学习(五)—— awk命令详解
一.awk简介 awk是一个非常好用的数据处理工具,相对于sed常常作用于一整个行的处理,awk则比较倾向于一行当中分成数个[字段]处理,因此,awk相当适合处理小型的数据数据处理.awk是一种报 ...
- Git初探--笔记整理和Git命令详解
几个重要的概念 首先先明确几个概念: WorkPlace : 工作区 Index: 暂存区 Repository: 本地仓库/版本库 Remote: 远程仓库 当在Remote(如Github)上面c ...
随机推荐
- java多线程、线程池及Spring配置线程池详解
1.java中为什么要使用多线程使用多线程,可以把一些大任务分解成多个小任务来执行,多个小任务之间互不影像,同时进行,这样,充分利用了cpu资源.2.java中简单的实现多线程的方式 继承Thread ...
- 实现react路由动态加载的组件
import React, { Component } from 'react'; import Loading from '../../base/nc_Loading'; /* * date: 20 ...
- 搭建开发环境1)安装VMware Tools
1.安装Vmware Tools 安装VMware Tools ,在虚拟机中装Linux 一般都不是默认全屏这个就需要安装VMware Tools的插件或者写个脚本文件每次启动的时候自动调整分辨率的大 ...
- asd短片数篇
黄乙己 黄乙己是站着AK而正常的唯一的人.他身材挺高大:蜡黄脸色,眼角间时常夹着些饼干屑:一副黑色的眼镜.虽然挺正常,可是他有良好的饮食习惯,似乎十多个月都是吃的牛奶泡饭,也没有洗饭盒.他对人说话,总 ...
- Android Historian安装使用
1.先安装docker 2.安装Historian,可使用如下docker镜像: sudo docker run -p 9000:9999 registry.cn-hangzhou.aliyuncs. ...
- Visible Lattice Points SPOJ - VLATTICE 三维+莫比乌斯反演
#include<bits/stdc++.h> #define ll long long using namespace std; ; int vis[maxn]; int mu[maxn ...
- Go语言极速入门手册.go
Github: https://github.com/coderzh/CodeTips /* gotips_test.go: Golang速学速查速用代码手册 Source: github.com/c ...
- Gitlab迁移之数据库报错解决
Gitlab迁移需同版本迁移,恢复过程会出现如下提示: WARNING: no privileges were granted for "public" 解决方法: 1. 编辑/ ...
- w3c
normative adj. 规范的,标准的errata n. 勘误表:正误表(erratum的复数)Substantive adj. 有实质的:大量的:真实的:独立存在的i ...
- iptables工作常用操作
正确的设置iptables命令汇总 iptables -P INPUT ACCEPT iptables -F iptables -X iptables -Z iptables -I INPUT -p ...