首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redis-cli - list of running queue命令?

Redis-cli - list of running queue命令?
EN

Stack Overflow用户
提问于 2021-11-23 06:36:54
回答 1查看 120关注 0票数 1

我想使用Redis-cli查看Redis服务器中的队列列表。我使用这个命令只是为了监视队列。

代码语言:javascript
复制
redis-cli MONITOR | grep queuename

如果我们有符合我要求的客户,请告诉我。

EN

回答 1

Stack Overflow用户

发布于 2021-11-23 19:29:48

我似乎没有足够的名气来在评论中澄清你是如何实现你的队列的,所以我将在下面提供一些想法,假设你已经将你的队列实现为一个先进先出队列,使用RPUSHLPOP在你的队列中添加和删除项。

代码语言:javascript
复制
> RPUSH queue-1 "task-a"
(integer) 1
>LPOP queue-1
"task-a"

关于这种方法有几个注意事项。首先,如果您的生产实例中有大量密钥,这会带来一些性能问题。当您的团队其他成员意识到您的redis实例可能会受到一些性能影响时,最好将其用于临时故障排除。其次,这将只显示列表中包含元素的键。如果您已经排空了一个队列,它将不会出现在返回值中。

另一种方法是使用排序集来保存用作队列的列表的键,并修改与队列相关的分数以了解队列的大小。在向队列中添加或删除消息时,还可以使用ZADD根据添加或返回的元素数来增加分数。这将允许您通过在任何时候使用ZREVRANGE减小队列大小来快速获得用作队列的列表集合。

代码语言:javascript
复制
> RPUSH queue-1 "task-a"
(integer) 1
> ZADD queues INCR 1 queue-1
"1"
> RPUSH queue-1 "task-b"
(integer) 2
> ZADD queues INCR 1 queue-1
"2"
> RPUSH queue-2 "message-a"
(integer) 1
> ZADD queues INCR 1 queue-2
"1"
> RPUSH queue-2 "message-b"
(integer) 2
> ZADD queues INCR 1 queue-2
"2"
> LPOP queue-2
"message-a"
> ZADD queues INCR -1 queue-2
"1"
> ZREVRANGE queues 0 -1 WITHSCORES
1) "queue-1"
2) "2"
3) "queue-2"
4) "1"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70076370

复制
相关文章

相似问题

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