首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >redis cli可以显示在队列中等待的项目吗?

redis cli可以显示在队列中等待的项目吗?
EN

Stack Overflow用户
提问于 2021-09-20 16:44:17
回答 1查看 1.8K关注 0票数 1

我有一个redis队列和节点应用程序,正在将项目插入到队列中。它们只是JSON字符串。为此,我使用了bee-queue npm包。

为了调试的目的,如果有办法使用redis cli查看当前在队列中等待处理的项,那就太好了。

代码语言:javascript
复制
127.0.0.1:6379> keys *
1) "bq:myqueue:waiting"
2) "bq:myqueue:jobs"
3) "bq:myqueue:id"

我能看到里面有东西

代码语言:javascript
复制
127.0.0.1:6379> llen bq:myqueue:waiting
(integer) 2

但我似乎不能真正地查看它们:

代码语言:javascript
复制
127.0.0.1:6379> get bq:myqueue:waiting
(error) WRONGTYPE Operation against a key holding the wrong kind of value

当我使用LRANGE列出数据时,我得到的结果是:

代码语言:javascript
复制
127.0.0.1:6379> LRANGE bq:myqueue:waiting 0 3
1) "9"
2) "8"
3) "7"

根据我在使用node.js客户端处理这些项时看到的数据,这些是redis分配给队列中项的it,但它不是我实际放入队列中的JSON数据。

EN

回答 1

Stack Overflow用户

发布于 2021-09-21 02:12:31

看起来亚当·马歇尔在检查类型上有正确的想法。事实证明,bq:myqueue:jobs是一个哈希,所以您可以使用hash commands来浏览内容。例如

代码语言:javascript
复制
127.0.0.1:6379> TYPE bq:myqueue:jobs
hash

127.0.0.1:6379> HGKEYS bq:myqueue:jobs
 1) "11"
 2) "9"
 3) "4"

127.0.0.1:6379> HGET bq:myqueue:jobs "4"
"{"data":{"a":1001, "b": "four"},"options":{"timestamp":1632162180724,"stacktraces":[]},"status":"created","progress":0}"

127.0.0.1:6379> HGETALL bq:myqueue:jobs
 1) "11"
 2) "{"data":{"a":1, "b": "two"},"options":{"timestamp":1632162260037,"stacktraces":[]},"status":"created","progress":0}"
 3) "9"
 4) "{"data":{"a":99, "b": "three"},"options":{"timestamp":1632189454151,"stacktraces":[]},"status":"created","progress":0}"
 5) "4"
 6) "{"data":{"a":1001, "b": "four"},"options":{"timestamp":1632162180724,"stacktraces":[]},"status":"created","progress":0}"

格式化有些不尽如人意,但我认为这基本上是可行的。

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

https://stackoverflow.com/questions/69258099

复制
相关文章

相似问题

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