首页 > 数据库 >redis的 CLIENT LIST 详解

redis的 CLIENT LIST 详解

时间:2023-04-15 19:31:36浏览次数:34  
标签:LIST cmd redis qbuf psub CLIENT 缓冲区 db 客户端

redis> CLIENT LIST
addr=127.0.0.1:43143 fd=6 age=183 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client
addr=127.0.0.1:43163 fd=5 age=35 idle=15 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=ping
addr=127.0.0.1:43167 fd=7 age=24 idle=6 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=get


可用版本 >= 2.4.0

时间复杂度

O(N) , N 为连接到服务器的客户端数量。

返回值

命令返回多行字符串,这些字符串按以下形式被格式化:


每个已连接客户端对应一行(以 LF 分割)

每行字符串由一系列 属性=值 形式的域组成,每个域之间以空格分开

以下是域的含义:


addr : 客户端的地址和端口

fd : 套接字所使用的文件描述符

age : 以秒计算的已连接时长

idle : 以秒计算的空闲时长

flags : 客户端 flag (见下文)

db : 该客户端正在使用的数据库 ID

sub : 已订阅频道的数量

psub : 已订阅模式的数量

multi : 在事务中被执行的命令数量

qbuf : 查询缓冲区的长度(字节为单位, 0 表示没有分配查询缓冲区)

qbuf-free : 查询缓冲区剩余空间的长度(字节为单位, 0 表示没有剩余空间)

obl : 输出缓冲区的长度(字节为单位, 0 表示没有分配输出缓冲区)

oll : 输出列表包含的对象数量(当输出缓冲区没有剩余空间时,命令回复会以字符串对象的形式被入队到这个队列里)

omem : 输出缓冲区和输出列表占用的内存总量

events : 文件描述符事件(见下文)

cmd : 最近一次执行的命令

客户端 flag 可以由以下部分组成:

O : 客户端是 MONITOR 模式下的附属节点(slave)

S : 客户端是一般模式下(normal)的附属节点

M : 客户端是主节点(master)

x : 客户端正在执行事务

b : 客户端正在等待阻塞事件

i : 客户端正在等待 VM I/O 操作(已废弃)

d : 一个受监视(watched)的键已被修改, EXEC 命令将失败

c : 在将回复完整地写出之后,关闭链接

u : 客户端未被阻塞(unblocked)

A : 尽可能快地关闭连接

N : 未设置任何 flag

文件描述符事件可以是:

r : 客户端套接字(在事件 loop 中)是可读的(readable)

w : 客户端套接字(在事件 loop 中)是可写的(writeable)

标签:LIST,cmd,redis,qbuf,psub,CLIENT,缓冲区,db,客户端
From: https://blog.51cto.com/u_12092988/6192425

相关文章

  • redis 数据重定向到文件方便查看
    背景:其实吧,就是因为每次都要一串命令进去redis敲,觉得很不方便,所以就用命令什么来生成个文本什么的,这样方便也省事啊,话不多说,直接上命令了,比如我现在最想要看的就是这个redis连过来的那堆ip的一些客户端信息啥的,直接就echo 这个值放进导成文本echo"clientlist"|/home/redis/red......
  • Redis安装(Linux CentOS)
    1.环境介绍主机系统:CentOSRedis版本:7.0.102.安装过程检查GCC版本gcc-vredis6.0以上需要gcc5.3,升级gcc。如果安装的redis版本低于6.0,这一步可以忽略yum-yinstallcentos-release-sclyum-yinstalldevtoolset-9-gccdevtoolset-9-gcc-c++devtoolse......
  • ArrayList的使用
    ArrayList的使用储存随机数字题目要求代码实现importjava.util.ArrayList;importjava.util.Random;publicclassdemo08{publicstaticvoidmain(String[]args){ArrayList<Integer>list=newArrayList<>();Randomr=newRandom();......
  • docker:Dockerfile、docker私有仓库、dockercompose介绍、dockercompose部署flask+redi
    目录一、Dockerfile1.1常用和不常用命令1.2dockerfile构建一个djagno项目二、docker私有仓库2.1镜像传到官方仓库2.2镜像分层2.3私有仓库搭建三、dockercompose介绍四、dockercompose部署flask+redis项目4.1新建flask项目app.py4.2编写Dockerfile--》用于构建flask项目的......
  • Redis相关操作
    Redis相关文档一.Redis简单使用​ redis作为一款目前这个星球上性能最高的非关系型数据库之一.拥有每秒近十万次的读写能力.其实力只能用恐怖来形容.1.安装redisredis是我见过这个星球上最好安装的软件了.比起前面的那一坨.它简直了...直接把压缩包解压.然后配置一下......
  • docker,Dockerfile,docker私有仓库,dockercompose介绍,dockercompose部署flask+redis项目,d
    内容回顾容器操作dockerstart容器id启动容器dockerstop容器id停止容器dockerrm 容器id删除容器ockerrm`dockerps-aq`#正在运行的容器不能删除dockerexec容器id命令让容器执行命令dockercp宿主机目录容器id:容器目录#目录要存在dockercp容......
  • redis 没用
    Redis高频面试题及答案 1.redis是什么?redis是nosql(也是个巨大的map)单线程,但是可处理1秒10w的并发(数据都在内存中)使用java对redis进行操作类似jdbc接口标准对mysql,有各类实现他的实现类,我们常用的是druid其中对redis,我们通常用Jedis(也为我们提供了连......
  • 局域网跨机器访问其他机器上虚拟机的Redis
    以上修改完毕之后就可以从别人的电脑访问你主机的ip地址+主机端口号直接访问虚拟机的redis了(防火墙开放了主机的相应端口)然后直接下一步下一步到名称自己起个名称点击完成就可以了......
  • java8使用stream流将list转map
    java8使用stream流将list转map原文链接:https://blog.csdn.net/weixin_43769566/article/details/123815887stream将list转化为map在Stream流中将List转换为Map,是使用Collectors.toMap方法来进行转换。1.key和value都是对象中的某个属性值。Map<String,String>userMap1......
  • JAVA 循环删除list中元素的方法总结
    摘要:介绍List集合实现元素边遍历边删除的方法,例如removeIf和迭代器iterator.remove()等。综述  List集合是我们开发中经常使用到的一种集合形式,有时候会遇到在遍历List集合时需要删除指定的元素。但在根据条件使用for循环或者增强的for循环遍历删除某些元素时却不能随心所欲地......