是否有可能在流水线块中捕获redis异常?

时间:2012-11-27 00:21:57

标签: ruby redis

我在Ruby 1.9中使用redis gem

是否有可能在Redis.pipelined中捕获Redis异常以确保批处理的其余部分也被执行?

我试过了     redis.pipelined做        开始           redis.hGet ...        救援Redis :: ComandError           ...        结束     结束 但rescue代码永远不会被执行。

1 个答案:

答案 0 :(得分:0)

Multi似乎与pipelined类似,除了每个操作都是原子的。我的“aaa”键被设置,即使是嗅觉引起异常被抛出。我知道这不是你想要的,因为你无法处理块内的异常。

#> $redis.multi do
*>   $redis.set "asdf", 1
*>   $redis.smembers "asdf"
*>   $redis.set "aaa", 2
*> end