我有一个redis队列和节点应用程序,正在将项目插入到队列中。它们只是JSON字符串。为此,我使用了bee-queue npm包。
为了调试的目的,如果有办法使用redis cli查看当前在队列中等待处理的项,那就太好了。
127.0.0.1:6379> keys *
1) "bq:myqueue:waiting"
2) "bq:myqueue:jobs"
3) "bq:myqueue:id"我能看到里面有东西
127.0.0.1:6379> llen bq:myqueue:waiting
(integer) 2但我似乎不能真正地查看它们:
127.0.0.1:6379> get bq:myqueue:waiting
(error) WRONGTYPE Operation against a key holding the wrong kind of value当我使用LRANGE列出数据时,我得到的结果是:
127.0.0.1:6379> LRANGE bq:myqueue:waiting 0 3
1) "9"
2) "8"
3) "7"根据我在使用node.js客户端处理这些项时看到的数据,这些是redis分配给队列中项的it,但它不是我实际放入队列中的JSON数据。
发布于 2021-09-21 02:12:31
看起来亚当·马歇尔在检查类型上有正确的想法。事实证明,bq:myqueue:jobs是一个哈希,所以您可以使用hash commands来浏览内容。例如
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}"格式化有些不尽如人意,但我认为这基本上是可行的。
https://stackoverflow.com/questions/69258099
复制相似问题