在执行“客户端列表”时,我得到以下结果,每个标志的含义是什么
奴隶
addr=100.0.0.0:0000 fd=5 空闲=3 标志=S db=0 sub=0 psub=0 qbuf=0 obl=0 oll=0 事件=r cmd=sync
掌握
addr=100.0.0.0:0000 fd=6 空闲=0 标志=N db=0 sub=0 psub=0 qbuf=0 obl=0 oll=0 事件=r cmd=客户端
对于客户端列表,Redis 为每个连接的客户端打印一行。
从Redis源代码的redis.h和networking.c文件中:
- addr:客户端的地址/端口
- fd:socket对应的文件描述符
- 空闲:连接的空闲时间(以秒为单位)
- flags:客户端标志(见下文)
- db:当前数据库ID
- sub:频道订阅数量
- psub:模式匹配订阅数
- qbuf:查询缓冲区长度(0表示没有查询挂起)
- obl:输出缓冲区长度
- oll:输出列表长度(当缓冲区已满时,回复将在此列表中排队)
- events:文件描述符事件(见下文)
- cmd:最后执行的命令
客户端标志可以是以下组合:
- O:MONITOR模式下客户端是从机
- S:客户端是普通的从服务器
- M:客户是大师
- x:客户端处于 MULTI/EXEC 上下文中
- b:客户端正在阻塞操作中等待
- i:客户端正在等待VM I/O
- d:监视的键已被修改 - EXEC 将失败
- c:写完整个回复后关闭连接
- u:客户端已解锁
- N:没有设置特定标志
文件描述符事件可以是:
- r:客户端套接字可读(事件循环)
- w:客户端套接字可写(事件循环)
这是我的解释,请持保留态度。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)