2013-06-28 31 views
4

有没有简单的方法来查看已在Redis-Py中的管道中排队的命令?我在文档中找不到任何关于此的内容,但它似乎是一个简单而有用的命令。我只是想做一些事情,如:在Redis-Py中查看管道中的命令?

p = redis_conn.pipeline() 
p.hset('blah', 'meh', 1) 
p.hset('foo', 'bar', 1) 
print p.view() #returns ["hset('blah', 'meh', 1)", "hset('foo', 'bar', 1)"] 

回答

5

您可以检查command_stack

In [17]: p.hset('blah', 'meh', 1) 
Out[17]: <redis.client.StrictPipeline at 0x10d4dde90> 

In [18]: p.hset('foo', 'bar', 1) 
Out[18]: <redis.client.StrictPipeline at 0x10d4dde90> 

In [19]: p.command_stack 
Out[19]: [(('HSET', 'blah', 'meh', 1), {}), (('HSET', 'foo', 'bar', 1), {})] 
+0

真棒。 Redis-py的作者在https://github.com/andymccurdy/redis-py/issues/362上给出了相同的答案。 – Eli