首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redis命令队列大小

Redis命令队列大小
EN

Stack Overflow用户
提问于 2013-03-13 05:21:14
回答 1查看 11.5K关注 0票数 7

如何记录/测量Redis命令的队列大小。

Redis是单线程的,所以它按顺序运行命令,因为我猜那里有命令队列,传入的命令被存储在其中,并逐个执行。SLOWLOG命令只显示执行时间,所以问题是,有没有办法在开始执行之前获取命令在队列中的时间。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-13 17:41:14

AFAIK,Redis中没有命令队列。

当套接字上有要读取的内容时,会通知事件循环。Redis读取套接字,解析输入缓冲区,并在从输入缓冲区解码命令时执行这些命令。如果同时(在不同套接字上)接收到多个命令,则它们将作为相同事件循环迭代的一部分按顺序进行处理。

没有办法评估挂起命令的确切数量。但是,有一种方法可以使用CLIENT LIST命令来评估输入缓冲区中仍需处理的数据量。它对应于qbuf统计量。

您还可以评估套接字缓冲区中仍需处理的数据量(Redis尚未读取的数据)。在Linux上,您可以使用/proc/net/tcp中的统计信息。下面是一个使用此策略的Python脚本示例。

https://gist.github.com/dspezia/2344181

您可能需要调整脚本以适应您的系统。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15372382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档