Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 Ruby 1.9 中使用 redis gem
是否可以在 Redis.pipelined 中捕获 Redis 异常以确保批处理的其余部分也被执行?
我试过 redis.pipelined do begin redis.hGet ... rescue Redis::ComandError ... end end 但rescue代码永远不会被执行。
rescue
Multi 似乎与流水线的工作方式相似,只是每个操作都是原子的。我的“aaa”键被设置了,即使 smembers 导致抛出异常。我知道这不是您正在寻找的,因为您无法处理块内的异常。
#> $redis.multi do *> $redis.set "asdf", 1 *> $redis.smembers "asdf" *> $redis.set "aaa", 2 *> end